Zadaniem funkcji jest sprawdzenie czy gracz z tablicy naszych kontaktów znajduje się w tablicy graczy online. Jeżeli tak to aktualizujemy kontakt: przypisujemy aktualny level i profesje oraz ustawiamy status: "Online". W tej chwili funkcja wykonuje zamierzony efekt ale wiem, że z pewnością wymaga zmian aby była czytelniejsza. Np. mam problem, że kiedy po instrukcji:
if (contactOnline.name === contact.name)
dodam:
else {
contact.status = "Offline";
}
To wtedy status będzie na Offline... a nie powinień.
Jeszcze małe pytanie, jaki błąd jest w takim przypisaniu?
contact = {...contactOnline, status: "Online"};
Kod funkcji:
app.get("/contact-list", async (req, res) => {
const { contactlist } = req.cookies;
const tibiantisPlayersList = await getPlayersOnline();
contactlist.map((contact) => {
contact.status = "Offline";
return tibiantisPlayersList.find((contactOnline) => {
if (contactOnline.name === contact.name) {
contact.vocation = contactOnline.vocation;
contact.level = contactOnline.level;
contact.status = "Online";
}
});
});
res.cookie("contactlist", contactlist, { maxAge: 24 * 60 * 60 * 1000 });
res.render("contactlist", { contactlist: contactlist });
});