← back to Hub
components/shared/SortDropdown.tsx
42 lines
'use client';
import { ArrowUpDown } from 'lucide-react';
interface SortOption {
value: string;
label: string;
}
interface SortDropdownProps {
options: SortOption[];
value: string;
onChange: (value: string) => void;
}
export default function SortDropdown({ options, value, onChange }: SortDropdownProps) {
return (
<div style={{ display: 'flex', alignItems: 'center', gap: 6 }}>
<ArrowUpDown size={14} style={{ color: 'var(--color-text-muted)', flexShrink: 0 }} />
<select
value={value}
onChange={(e) => onChange(e.target.value)}
style={{
backgroundColor: 'var(--color-surface-el)',
color: 'var(--color-text)',
border: '1px solid var(--color-border)',
borderRadius: 8,
padding: '6px 10px',
fontSize: '0.75rem',
fontWeight: 500,
cursor: 'pointer',
outline: 'none',
}}
>
{options.map((opt) => (
<option key={opt.value} value={opt.value}>{opt.label}</option>
))}
</select>
</div>
);
}