'use client';
import { useState } from 'react';
import { useTranslations } from 'next-intl';
import { Search, Target, MapPin, Plus, Minus, X } from 'lucide-react';
interface MapControlsProps {
onSearch?: (query: string) => void;
onZoomIn?: () => void;
onZoomOut?: () => void;
onLocate?: () => void;
onSpotlight?: () => void;
}
export function MapControls({
onSearch,
onZoomIn,
onZoomOut,
onLocate,
onSpotlight,
}: MapControlsProps) {
const t = useTranslations('map');
const [searchOpen, setSearchOpen] = useState(false);
const [query, setQuery] = useState('');
const submitSearch = () => {
if (onSearch && query.trim()) {
onSearch(query.trim());
}
};
return (
{/* Search */}
{searchOpen && (
setQuery(e.target.value)}
onKeyDown={(e) => e.key === 'Enter' && submitSearch()}
placeholder={t('search')}
className="w-48 px-2 py-1.5 bg-transparent text-sm text-[var(--map-text)] placeholder:text-[var(--map-text-muted)] focus:outline-none"
autoFocus
/>
)}
{/* Spotlight selection */}
{/* Zoom to my location */}
{/* Zoom in/out */}
);
}