import { Calendar,CalendarClock,Check,ChevronDown,ChevronUp,FolderTree,GripVertical,SortAsc,SortDesc } from 'lucide-react'; import React from 'react'; import { useI18n } from "../../application/i18n/I18nProvider"; import { Button } from './button'; import { Dropdown,DropdownContent,DropdownTrigger } from './dropdown'; export type SortMode = 'manual' | 'az' | 'za' | 'newest' | 'oldest' | 'group'; const SORT_OPTIONS: Record = { manual: { labelKey: 'sort.manual', icon: , triggerIcon: }, az: { labelKey: 'sort.az', icon: , triggerIcon: }, za: { labelKey: 'sort.za', icon: , triggerIcon: }, newest: { labelKey: 'sort.newest', icon: , triggerIcon: }, oldest: { labelKey: 'sort.oldest', icon: , triggerIcon: }, group: { labelKey: 'sort.group', icon: , triggerIcon: }, }; interface SortDropdownProps { value: SortMode; onChange: (mode: SortMode) => void; className?: string; modes?: SortMode[]; } export const SortDropdown: React.FC = ({ value, onChange, className, modes }) => { const [open, setOpen] = React.useState(false); const { t } = useI18n(); const visibleModes = modes ?? (Object.keys(SORT_OPTIONS) as SortMode[]); return ( {visibleModes.map(mode => ( ))} ); }; export default SortDropdown;