import { MapContainer, TileLayer, Marker, Tooltip } from "react-leaflet"; import { useTrips } from "@/lib/hooks/use-trips"; import { useEffect, useState, useRef } from "react"; import { Map, divIcon } from "leaflet"; import { cn } from "@/lib/utils"; import { TripCard } from "@/components/TripCard"; import { PlaceCard } from "@/components/PlaceCard"; import { useMediaQuery } from "@/lib/hooks/use-media-query"; import { MobileTripCard } from "./MobileTripCard"; export type MapCanvasProps = { className?: string; }; export function MapCanvas({ className }: MapCanvasProps) { const [map, setMap] = useState(null); const { selectedTrip } = useTrips(); const isDesktop = useMediaQuery("(min-width: 900px)"); return (
{selectedTrip && selectedTrip.places.map((place, i) => ( ${i + 1}
`, iconSize: [32, 32], iconAnchor: [16, 16], })} > ))} {map && ( <> {isDesktop ? (
) : ( )} )} ); }