Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
efdd21a
Merge pull request #1 from JuanCarlosHM/main
JuanCarlosHM Oct 18, 2023
378ed51
carpetas
YamilethReveca Oct 26, 2023
94af8fc
carpetas
YamilethReveca Oct 26, 2023
0f5393b
carpetas
vane-robledo Oct 26, 2023
0ed4c73
carpetas
vane-robledo Oct 26, 2023
ddb2bdd
html y refactorización
vane-robledo Oct 26, 2023
eb48a17
html y refactorización
vane-robledo Oct 26, 2023
ce8d072
html y refactorización
vane-robledo Oct 26, 2023
0008c70
html y refactorización
vane-robledo Oct 26, 2023
75a0342
Se agregó el section al html.
miltondisimone Oct 26, 2023
b029649
Se agregó el section al html.
miltondisimone Oct 26, 2023
76b0fa9
Merge pull request #3 from vane-robledo/yanina
yaninacch Oct 30, 2023
de74c88
Merge pull request #3 from vane-robledo/yanina
yaninacch Oct 30, 2023
c972927
router y componentes
YamilethReveca Oct 31, 2023
cf2c892
router y componentes
YamilethReveca Oct 31, 2023
8862796
router y componentes
vane-robledo Oct 31, 2023
12207cc
router y componentes
vane-robledo Oct 31, 2023
f1c3f5d
home
vane-robledo Nov 2, 2023
712dad5
home
vane-robledo Nov 2, 2023
5f14aa7
filtros
miltondisimone Nov 2, 2023
a76a808
filtros
miltondisimone Nov 2, 2023
9dde63d
Merge pull request #5 from vane-robledo/yanina
yaninacch Nov 2, 2023
f2be11e
Merge pull request #5 from vane-robledo/yanina
yaninacch Nov 2, 2023
99a7731
otros cambios de filtro y facts
YamilethReveca Nov 2, 2023
50c349e
otros cambios de filtro y facts
YamilethReveca Nov 2, 2023
ce33e71
Merge pull request #6 from vane-robledo/yanina
vane-robledo Nov 2, 2023
850ae89
Merge pull request #6 from vane-robledo/yanina
vane-robledo Nov 2, 2023
f59ba0e
Merge branch 'vane' of github.com:vane-robledo/DEV012-dataverse-chat …
vane-robledo Nov 2, 2023
0595f49
Merge branch 'vane' of github.com:vane-robledo/DEV012-dataverse-chat …
vane-robledo Nov 2, 2023
80d33e4
Merge pull request #7 from vane-robledo/vane
vane-robledo Nov 2, 2023
99897d9
Merge pull request #7 from vane-robledo/vane
vane-robledo Nov 2, 2023
7faf677
el codigo funciona, lo volvi a los cambios que hizo yanina
vane-robledo Nov 2, 2023
9412223
el codigo funciona, lo volvi a los cambios que hizo yanina
vane-robledo Nov 2, 2023
f3cbedd
codigo de vuelta a cuando yani hizo push
vane-robledo Nov 2, 2023
661a134
codigo de vuelta a cuando yani hizo push
vane-robledo Nov 2, 2023
102781f
Arreglos facts y home.
miltondisimone Nov 2, 2023
71e1599
Arreglos facts y home.
miltondisimone Nov 2, 2023
8f34217
merge main
miltondisimone Nov 2, 2023
05aabb6
merge main
miltondisimone Nov 2, 2023
e9ee776
Merge pull request #9 from vane-robledo/yanina
yaninacch Nov 2, 2023
9b73cc6
Merge pull request #9 from vane-robledo/yanina
yaninacch Nov 2, 2023
6498d17
cambios en el facts y parte del nav
YamilethReveca Nov 3, 2023
e20dc60
cambios en el facts y parte del nav
YamilethReveca Nov 3, 2023
8078466
Merge pull request #10 from vane-robledo/yamileth
yaninacch Nov 3, 2023
01b5e30
Merge pull request #10 from vane-robledo/yamileth
yaninacch Nov 3, 2023
3556b72
homeIcon funcionando
YamilethReveca Nov 3, 2023
bf67d59
homeIcon funcionando
YamilethReveca Nov 3, 2023
8382312
Merge pull request #11 from vane-robledo/yamileth
YamilethReveca Nov 6, 2023
0d563b6
Merge pull request #11 from vane-robledo/yamileth
YamilethReveca Nov 6, 2023
c99eb00
detalle
miltondisimone Nov 6, 2023
25277dc
detalle
miltondisimone Nov 6, 2023
519892a
Merge pull request #12 from vane-robledo/yanina
yaninacch Nov 6, 2023
b1235a7
Merge pull request #12 from vane-robledo/yanina
yaninacch Nov 6, 2023
c27489e
detalles funciona
vane-robledo Nov 6, 2023
22dee2c
detalles funciona
vane-robledo Nov 6, 2023
6cf7b18
detalles funciona
vane-robledo Nov 6, 2023
a5daea4
detalles funciona
vane-robledo Nov 6, 2023
74e8aea
detalles y parte del chat
YamilethReveca Nov 7, 2023
cc55a10
detalles y parte del chat
YamilethReveca Nov 7, 2023
cfca5f5
Merge pull request #14 from vane-robledo/yamileth
YamilethReveca Nov 7, 2023
8801a86
Merge pull request #14 from vane-robledo/yamileth
YamilethReveca Nov 7, 2023
b7ae8bf
Chat de personaje.
miltondisimone Nov 7, 2023
971849a
Chat de personaje.
miltondisimone Nov 7, 2023
e2ef3a3
Merge pull request #15 from vane-robledo/yanina
yaninacch Nov 7, 2023
2fccbb1
Merge pull request #15 from vane-robledo/yanina
yaninacch Nov 7, 2023
b95cbcc
cambios CSS, chat y error, setTimeOut en error.
vane-robledo Nov 8, 2023
77bcf9f
cambios CSS, chat y error, setTimeOut en error.
vane-robledo Nov 8, 2023
b204284
Chat grupal
miltondisimone Nov 9, 2023
b3965b5
Chat grupal
miltondisimone Nov 9, 2023
f9182ce
Merge pull request #16 from vane-robledo/yanina
yaninacch Nov 9, 2023
579f91c
Merge pull request #16 from vane-robledo/yanina
yaninacch Nov 9, 2023
0ce718e
Se movieron el botón del chat grupal y se arregló el botón de home
miltondisimone Nov 10, 2023
9fa776b
Se movieron el botón del chat grupal y se arregló el botón de home
miltondisimone Nov 10, 2023
3e34788
Merge pull request #17 from vane-robledo/yanina
yaninacch Nov 10, 2023
ec0a928
Merge pull request #17 from vane-robledo/yanina
yaninacch Nov 10, 2023
d225ec3
Se arregló el título del chat por personaje.
miltondisimone Nov 10, 2023
f1e7a8e
Se arregló el título del chat por personaje.
miltondisimone Nov 10, 2023
f610345
Merge pull request #18 from vane-robledo/yanina
yaninacch Nov 10, 2023
df3e8e5
Merge pull request #18 from vane-robledo/yanina
yaninacch Nov 10, 2023
23d2841
Chat con API.
miltondisimone Nov 14, 2023
e3aeb7c
Chat con API.
miltondisimone Nov 14, 2023
1a73417
Merge pull request #19 from vane-robledo/yanina
yaninacch Nov 14, 2023
c4514eb
Merge pull request #19 from vane-robledo/yanina
yaninacch Nov 14, 2023
65d34a8
subiendo cambios de api
YamilethReveca Nov 15, 2023
f94fb3e
subiendo cambios de api
YamilethReveca Nov 15, 2023
8080a06
Merge pull request #20 from vane-robledo/yamileth
YamilethReveca Nov 15, 2023
1c90896
Merge pull request #20 from vane-robledo/yamileth
YamilethReveca Nov 15, 2023
8de24dd
boton para la api y panel
YamilethReveca Nov 16, 2023
44ec6b1
boton para la api y panel
YamilethReveca Nov 16, 2023
2964bee
Merge pull request #21 from vane-robledo/yamileth
YamilethReveca Nov 16, 2023
501a976
Merge pull request #21 from vane-robledo/yamileth
YamilethReveca Nov 16, 2023
2b1e66e
Chat grupal
miltondisimone Nov 17, 2023
cab32b4
Chat grupal
miltondisimone Nov 17, 2023
1824396
Merge pull request #22 from vane-robledo/yanina
yaninacch Nov 17, 2023
9098803
Merge pull request #22 from vane-robledo/yanina
yaninacch Nov 17, 2023
02f53bb
Chat por personaje y api key
miltondisimone Nov 20, 2023
aaa5fcc
Chat por personaje y api key
miltondisimone Nov 20, 2023
45e5bb1
Merge pull request #23 from vane-robledo/yanina
yaninacch Nov 20, 2023
e6f92c5
Merge pull request #23 from vane-robledo/yanina
yaninacch Nov 20, 2023
c34b337
Api key, arreglo chat grupal
miltondisimone Nov 20, 2023
10ce006
Merge pull request #24 from vane-robledo/yanina
vane-robledo Nov 20, 2023
50b35f6
Merge remote-tracking branch 'origin/main'
miltondisimone Nov 20, 2023
88b8d21
Merge branch 'main' of github.com:vane-robledo/DEV012-dataverse-chat
miltondisimone Nov 20, 2023
771a424
cambios chat grupal y chat individual y responsive
YamilethReveca Nov 21, 2023
ee119cd
Merge pull request #25 from vane-robledo/yamileth
YamilethReveca Nov 21, 2023
b28a99f
Merge branch 'main' of github.com:vane-robledo/DEV012-dataverse-chat
miltondisimone Nov 21, 2023
ab92af3
Merge branch 'vane' into yamileth
vane-robledo Nov 21, 2023
bcc94e6
Merge pull request #27 from vane-robledo/main
vane-robledo Nov 21, 2023
dce6f35
revisando
YamilethReveca Nov 21, 2023
0383028
Cambios
miltondisimone Nov 21, 2023
160e986
Merge pull request #28 from vane-robledo/yanina
yaninacch Nov 21, 2023
18386b3
Merge branch 'main' into yamileth
YamilethReveca Nov 21, 2023
4fc487c
Responsive y chat por personaje.
miltondisimone Nov 22, 2023
4fb3b85
Merge pull request #30 from vane-robledo/yanina
yaninacch Nov 22, 2023
5a46a71
Merge branch 'main' into yamileth
YamilethReveca Nov 22, 2023
ef7a559
detalles responsive y correción de nombres de variables
vane-robledo Nov 22, 2023
781e6bc
responsive edición
vane-robledo Nov 22, 2023
d9b21bd
edicion de responsive
vane-robledo Nov 22, 2023
b63c2cc
Merge branch 'main' into yamileth
YamilethReveca Nov 22, 2023
42c4b87
Validación api key y error.
miltondisimone Nov 22, 2023
c3d1416
Merge pull request #32 from vane-robledo/yanina
yaninacch Nov 22, 2023
aa4ea3b
Merge branch 'main' into yamileth
YamilethReveca Nov 22, 2023
db306fb
Validación de api key y errores.
miltondisimone Nov 23, 2023
9cdefd6
Merge pull request #33 from vane-robledo/yanina
yaninacch Nov 23, 2023
79e2fe8
Merge branch 'main' into yamileth
YamilethReveca Nov 23, 2023
900e264
router funcionando, vista detalle funciona pero tiene error
vane-robledo Nov 23, 2023
0f2ceaf
cambios router y detalle
vane-robledo Nov 23, 2023
fd8e491
cambios router y detalle
vane-robledo Nov 23, 2023
dbf5ee2
Merge branch 'main' into yamileth
YamilethReveca Nov 23, 2023
55f315d
readme y funciona el resfrescar la pagina
YamilethReveca Nov 24, 2023
a16abb0
prueba
vane-robledo Nov 24, 2023
dd5771c
Read me y corrección de rutas.
miltondisimone Nov 24, 2023
e09a746
Merge pull request #37 from vane-robledo/yanina
yaninacch Nov 24, 2023
9964d1a
index fuera, deploy
vane-robledo Nov 24, 2023
0bae886
index fuera, deploy
vane-robledo Nov 24, 2023
0b4ac95
index dentro de src
vane-robledo Nov 24, 2023
bfe3ccd
arreglando los conflictos de merge
YamilethReveca Nov 25, 2023
70c352e
Merge branch 'yamileth' of https://github.com/vane-robledo/DEV012-dat…
YamilethReveca Nov 25, 2023
91207b0
cambios en el readmi de conflico
YamilethReveca Nov 25, 2023
a4bdc57
Merge branch 'main' into yamileth
YamilethReveca Nov 25, 2023
8ac27ad
Merge pull request #39 from vane-robledo/yamileth
YamilethReveca Nov 25, 2023
9368a73
test home
YamilethReveca Nov 27, 2023
d91faab
Merge pull request #40 from vane-robledo/yamileth
YamilethReveca Nov 27, 2023
caa90e7
README completo y los test.
YamilethReveca Nov 28, 2023
151949d
Merge pull request #41 from vane-robledo/yamileth
YamilethReveca Nov 28, 2023
94e3fdf
correccion responsive
vane-robledo Nov 28, 2023
682588e
refactorizando archivos
YamilethReveca Apr 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
"env": {
"browser": true,
"es6": true,
"jest": true
"jest": true,
"node": true
},
"parserOptions": {
"ecmaVersion": 2020,
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
coverage/
node_modules/
.vscode/
.env
.env
.vercel
32 changes: 32 additions & 0 deletions DEV012-dataverse-chat/src/components/cards.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import { navigateTo } from "../router.js";

export const renderItems = (dataset) => {
const ul = document.createElement("ul");
dataset.forEach((element) => {
const li = document.createElement("li");
li.setAttribute("itemscope", "");
li.setAttribute("itemtype", "One Piece");
li.classList.add("cards");
li.innerHTML = `
<h3 itemprop="name">${element.name}</h3>
<img src="${element.imageUrl}" alt="${element.id}">
<p class="description" itemprop="description">${element.description}</p>
<h4 class = "bountyValue" itemprop="bounty">${element.facts.bounty}</h4>
`;
const apiSaved = localStorage.getItem("apiKey");
li.addEventListener("click", (e) => {
e.preventDefault();

if (apiSaved === null) {
navigateTo("/api-key");
}else{
navigateTo(`/detail-${element.id}`,element);
}



});
ul.appendChild(li);
});
return ul;
};
83 changes: 83 additions & 0 deletions DEV012-dataverse-chat/src/components/chat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
import { openIAapi, openIAapiIndividual } from "../lib/chatApi.js";
import { characters } from "../lib/chatApi.js";


export const renderChat = (element) => {
const container = document.createElement("div");
container.id = "chatContainer";
const chatSection = document.createElement("section");
chatSection.id = "chatSection";
const divTextarea = document.createElement("div");
divTextarea.classList.add("divTextarea")
const inputChat = document.createElement("textarea");
inputChat.id = "inputChat";
inputChat.placeholder = "Chat with your favourite character";
const sendButton = document.createElement("button");
sendButton.id = "sendButton";
sendButton.innerHTML = `<i class="bi bi-send"></i>`;

sendButton.addEventListener("click", () => {

const userText = container.querySelector("#inputChat").value;
const showUserText = document.createElement("p");


showUserText.innerHTML = userText;
showUserText.style.color = "blue"
chatSection.appendChild(showUserText);

const clearTextarea = container.querySelector("#inputChat");
clearTextarea.value = "";
const route = window.location.pathname;
if (route === "/panel") {

openIAapi(characters, userText)
.then((response) => //{if (response.status === 401 || response.status === 403) {
//throw new Error("Error de autenticación: Token inválido o faltante.");}
response.json())

.then((data) => {
const apiAnswer = document.createElement("p");
apiAnswer.innerHTML = data.choices[0].message.content;
chatSection.appendChild(apiAnswer);
})

.catch((error) => {
console.error("Error en la solicitud:", error);
const apiError = document.createElement("p");
apiError.innerHTML = "Authentication error: invalid or missing token.";
apiError.style.color = "red";
apiError.style.fontSize = "25px";
container.appendChild(apiError);
})
} else {
openIAapiIndividual(element.name, userText)
.then((response) =>
// {if (response.status === 401 || response.status === 403) {
// throw new Error("Error de autenticación: Token inválido o faltante.");}
response.json())

.then((data) => {
const apiAnswer = document.createElement("p");
apiAnswer.innerHTML = data.choices[0].message.content;
chatSection.appendChild(apiAnswer);
})

.catch((error) => {
console.error("Error en la solicitud:", error);
const apiError = document.createElement("p");
apiError.innerHTML = "Authentication error: invalid or missing token.";
apiError.style.color = "red";
apiError.style.fontSize = "25px";
container.appendChild(apiError);
})
}
});
container.appendChild(chatSection);
divTextarea.appendChild(inputChat);
divTextarea.appendChild(sendButton);
container.appendChild(divTextarea);

return container;
};

5 changes: 5 additions & 0 deletions DEV012-dataverse-chat/src/components/footer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const renderFooter = () => {
const footer = document.createElement("footer");
footer.textContent= " Developers: Vanessa Robledo- Yanina Chiolo- Yamileth Caldera";
return footer;
}
9 changes: 9 additions & 0 deletions DEV012-dataverse-chat/src/components/header.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export const renderHeader = () => {
const header = document.createElement("header");
header.classList.add("headerStyle")
const h1 = document.createElement("h1");
h1.textContent = "One Pedia"
h1.classList.add("title")
header.appendChild(h1);
return header;
}
96 changes: 96 additions & 0 deletions DEV012-dataverse-chat/src/components/nav.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
import { navigateTo } from "../router.js";

export const renderNav = () => {
const nav = document.createElement("nav");
nav.classList.add("navStyle");
nav.innerHTML += `
<button id="homeButton" class="homeButton"><img class="home-img" src="./img/home-button.png" alt="Home-img"/></button>
<label for="menu">☰</label>
<input type="checkbox" id="menu">
<div class= "div-filtros">
<label for="origin">Filter:</label>
<select id="origin" name="origin" data-testid="select-filterOrigin">
<option disabled selected value="">Select Origin</option>
<option value="East Blue">East Blue</option>
<option value="North Blue">North Blue</option>
<option value="West Blue">West Blue</option>
<option value="South Blue">South Blue</option>
<option value="Grand Line">Grand Line</option>
<option value="New World">New World</option>
<option value="Unknown">Unknown</option>
</select>
<label for="crew">Filter:</label>
<select id="crew" name="crew" data-testid="select-filter">
<option disabled selected value="">Select Crew</option>
<option value="Straw Hat Pirates">Straw Hat Pirates</option>
<option value="Kuja Pirates">Kuja Pirates</option>
<option value="Marines">Marines</option>
<option value="Blackbeard Pirates">Blackbeard Pirates</option>
<option value="Big Mom Pirates">Big Mom Pirates</option>
<option value="Heart Pirates">Heart Pirates</option>
<option value="Revolutionaries">Revolutionaries</option>
<option value="Red-Haired Pirates">Red Haired Pirates</option>
<option value="Kid Pirates">Kid Pirates</option>
<option value="Baroque Works">Baroque Works</option>
<option value="Spade Pirates">Spade Pirates</option>
<option value="Roger Pirates">Roger Pirates</option>
<option value="Buggy Pirates">Buggy Pirates</option>
<option value="Bonney Pirates">Bonney Pirates</option>
</select>
<label for="a-to-z">Sort:</label>
<select id="a-to-z" name="a-to-z" data-testid="select-sort">
<option disabled selected value="">Select Order</option>
<option value="asc">A-Z</option>
<option value="desc">Z-A</option>
</select>
<label for="bounty">Sort:</label>
<select id="bounty" name="bounty" data-testid="select-bounty">
<option disabled selected value="">Select Bounty</option>
<option value="asc">Lowest</option>
<option value="desc">Highest</option>
</select>
<button data-testid="button-clear" class="button">Clear</button>
<button id="facts" class="button">Facts</button>
<button id="apiKey" class="button">Api Key</button>
<button id="everyoneButton" class="button">Chat With Everyone</button>
</div>`;

const homeIcon = nav.querySelector("#homeButton");
homeIcon.addEventListener("click", (e) => {
e.preventDefault();
navigateTo("/");
});

const title = document.createElement("h2");


title.id = "titulo";
title.style.display = "none";
title.classList.add("detallesStyle");
nav.appendChild(title);

const apiKeyInput = nav.querySelector("#apiKey");
apiKeyInput.addEventListener("click", (e) => {

e.preventDefault();
navigateTo("/api-key");
})

const everyoneButton = nav.querySelector("#everyoneButton");

const apiSaved = localStorage.getItem("apiKey");


everyoneButton.addEventListener("click", (e) => {
e.preventDefault();
if (apiSaved === null) {
navigateTo("/api-key")
} else {
navigateTo("/panel");
}
});



return nav;
}
Loading