Ordering by date, name

This commit is contained in:
marijo 2026-06-29 08:07:25 +00:00
parent 6206dea011
commit 56fdb4fd1d

16
app.js
View file

@ -26,7 +26,7 @@ const emptyState = document.querySelector("#empty-state");
const routesList = document.querySelector("#routes-list"); const routesList = document.querySelector("#routes-list");
const template = document.querySelector("#route-card-template"); const template = document.querySelector("#route-card-template");
let routes = loadRoutes(); let routes = sortRoutes(loadRoutes());
authForm.addEventListener("submit", authenticate); authForm.addEventListener("submit", authenticate);
logoutButton.addEventListener("click", lockApp); logoutButton.addEventListener("click", lockApp);
@ -91,6 +91,19 @@ function storeRoutes() {
localStorage.setItem(STORAGE_KEY, JSON.stringify(routes)); localStorage.setItem(STORAGE_KEY, JSON.stringify(routes));
} }
function sortRoutes(routeList) {
return [...routeList].sort((a, b) => {
const dateA = a.date || "0000-00-00";
const dateB = b.date || "0000-00-00";
if (dateA !== dateB) {
return dateB.localeCompare(dateA);
}
return a.name.localeCompare(b.name, undefined, { sensitivity: "base" });
});
}
async function saveRoute(event) { async function saveRoute(event) {
event.preventDefault(); event.preventDefault();
@ -132,6 +145,7 @@ async function saveRoute(event) {
routes.unshift(route); routes.unshift(route);
} }
routes = sortRoutes(routes);
storeRoutes(); storeRoutes();
renderRoutes(); renderRoutes();
resetForm(); resetForm();