
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "@/components/ui/dialog";
import { EditTripForm } from "./EditTripForm";
import { Trip } from "@/types";

type EditTripDialogProps = {
  trip: Trip;
  isOpen: boolean;
  onOpenChange: (open: boolean) => void;
};

export function EditTripDialog({ trip, isOpen, onOpenChange }: EditTripDialogProps) {
  const handleClose = (success: boolean) => {
    onOpenChange(false);

    // Si la modification a réussi, on stocke l'ID du voyage
    if (success && trip && trip.id) {
      // Stocker l'ID du voyage dans sessionStorage
      sessionStorage.setItem('lastViewedTripId', trip.id);

      // Indiquer que nous venons de modifier ce voyage
      sessionStorage.setItem('justEditedTrip', 'true');

      // Au lieu de recharger la page, nous restons sur la même page
      // et rechargerons les données lors du prochain rendu
      console.log("Modification enregistrée, l'itinéraire sera préservé");
    }
  };

  return (
    <Dialog open={isOpen} onOpenChange={onOpenChange}>
      <DialogContent className="max-h-[90vh] overflow-y-auto sm:max-w-[600px]">
        <DialogHeader>
          <DialogTitle>Modifier le voyage</DialogTitle>
          <DialogDescription>
            Modifiez les détails du voyage. Cliquez sur sauvegarder lorsque vous avez terminé.
          </DialogDescription>
        </DialogHeader>
        <EditTripForm
          trip={trip}
          onClose={handleClose}
        />
      </DialogContent>
    </Dialog>
  );
}
