diff --git a/components/backlog/pbi-list.tsx b/components/backlog/pbi-list.tsx index 01e4a03..39523d4 100644 --- a/components/backlog/pbi-list.tsx +++ b/components/backlog/pbi-list.tsx @@ -203,6 +203,7 @@ export function PbiList({ productId, isDemo }: PbiListProps) { const [filterPriority, setFilterPriority] = useState('all') const [filterStatus, setFilterStatus] = useState('all') const [sortMode, setSortMode] = useState('priority') + const [sortDir, setSortDir] = useState<'asc' | 'desc'>('asc') const [prefsLoaded, setPrefsLoaded] = useState(false) const [dialogState, setDialogState] = useState(null) const [activeDragId, setActiveDragId] = useState(null) @@ -225,6 +226,8 @@ export function PbiList({ productId, isDemo }: PbiListProps) { if (savedStatus === 'ready' || savedStatus === 'blocked' || savedStatus === 'done') { setFilterStatus(savedStatus) } + const savedDir = localStorage.getItem('scrum4me:pbi_sort_dir') + if (savedDir === 'asc' || savedDir === 'desc') setSortDir(savedDir) setPrefsLoaded(true) }, []) @@ -232,6 +235,7 @@ export function PbiList({ productId, isDemo }: PbiListProps) { useEffect(() => { if (prefsLoaded) localStorage.setItem('scrum4me:pbi_sort', sortMode) }, [sortMode, prefsLoaded]) useEffect(() => { if (prefsLoaded) localStorage.setItem('scrum4me:pbi_filter_priority', String(filterPriority)) }, [filterPriority, prefsLoaded]) useEffect(() => { if (prefsLoaded) localStorage.setItem('scrum4me:pbi_filter_status', filterStatus) }, [filterStatus, prefsLoaded]) + useEffect(() => { if (prefsLoaded) localStorage.setItem('scrum4me:pbi_sort_dir', sortDir) }, [sortDir, prefsLoaded]) // Sync server data into store — use stable string dep to avoid infinite loop const pbiIdKey = pbis.map(p => p.id).join(',') @@ -259,7 +263,8 @@ export function PbiList({ productId, isDemo }: PbiListProps) { const activeFilterCount = (filterPriority !== 'all' ? 1 : 0) + (filterStatus !== 'all' ? 1 : 0) + - (sortMode !== 'priority' ? 1 : 0) + (sortMode !== 'priority' ? 1 : 0) + + (sortDir !== 'asc' ? 1 : 0) const filtered = [...base].sort((a, b) => { if (sortMode === 'code') { @@ -392,6 +397,7 @@ export function PbiList({ productId, isDemo }: PbiListProps) { setFilterPriority('all') setFilterStatus('all') setSortMode('priority') + setSortDir('asc') }} > Wis filters