Skip to content

Commit 0e7e08c

Browse files
committed
Fix: Delete ALL duplicate routes (same name+date) from Firebase when deleting one
1 parent be7e597 commit 0e7e08c

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

src/app/page.tsx

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -349,17 +349,32 @@ export default function Home() {
349349
};
350350

351351
const deleteRoute = async (id: string) => {
352-
const updated = routes.filter((r) => r.id !== id);
352+
// Find the route being deleted
353+
const routeToDelete = routes.find((r) => r.id === id);
354+
if (!routeToDelete) return;
355+
356+
// Find ALL routes with the same name AND date (duplicates)
357+
const duplicatesToDelete = routes.filter((r) =>
358+
r.name === routeToDelete.name && r.date === routeToDelete.date
359+
);
360+
361+
const duplicateIds = duplicatesToDelete.map((r) => r.id);
362+
console.log("Deleting duplicates:", duplicateIds);
363+
364+
// Update local state - remove all duplicates
365+
const updated = routes.filter((r) => !duplicateIds.includes(r.id));
353366
saveRoutes(updated);
354-
if (selectedRoute?.id === id) {
367+
if (selectedRoute && duplicateIds.includes(selectedRoute.id)) {
355368
setSelectedRoute(null);
356369
}
357-
// Also delete from Firebase
370+
// Delete ALL duplicates from Firebase
358371
if (user && db) {
359372
try {
360373
const { deleteDoc } = await import("firebase/firestore");
361-
await deleteDoc(doc(db, "routes", id));
362-
console.log("Deleted route from Firebase:", id);
374+
for (const dupId of duplicateIds) {
375+
await deleteDoc(doc(db, "routes", dupId));
376+
}
377+
console.log("Deleted duplicate routes from Firebase:", duplicateIds);
363378
} catch (e) {
364379
console.error("Failed to delete from Firebase:", e);
365380
}

0 commit comments

Comments
 (0)