@@ -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