import { ArrowUp, ArrowDown, Loader2 } from 'lucide-react'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Button } from '@/components/ui/button'; import type { SortConfig, SortField } from '@/types/moderation'; interface QueueSortControlsProps { sortConfig: SortConfig; onSortChange: (config: SortConfig) => void; isMobile: boolean; isLoading?: boolean; } const SORT_FIELD_LABELS: Record = { created_at: 'Date Submitted', submission_type: 'Type', status: 'Status' }; export const QueueSortControls = ({ sortConfig, onSortChange, isMobile, isLoading = false }: QueueSortControlsProps) => { const handleFieldChange = (value: string) => { const validFields: SortField[] = ['created_at', 'submission_type', 'status']; if (!validFields.includes(value as SortField)) { return; } const field = value as SortField; onSortChange({ ...sortConfig, field }); }; const handleDirectionToggle = () => { const newDirection = sortConfig.direction === 'asc' ? 'desc' : 'asc'; onSortChange({ ...sortConfig, direction: newDirection }); }; const DirectionIcon = sortConfig.direction === 'asc' ? ArrowUp : ArrowDown; return (
); };