feat: 优化Sidebar组件,支持onClick回调和外部链接导航;更新repos页面,持久化开发者过滤器状态

This commit is contained in:
xiongxiao
2026-03-20 23:00:02 +08:00
committed by cnb
parent 389f7a7ad2
commit ef08303182
3 changed files with 24 additions and 28 deletions

View File

@@ -24,20 +24,15 @@ export const App = () => {
setShowCreateDialog: state.setShowCreateDialog,
})))
const [searchQuery, setSearchQuery] = useState('')
const [filterDev, setFilterDev] = useState(false)
const [filterDev, setFilterDev] = useState(() => {
const saved = localStorage.getItem('repos-filter-dev')
return saved === 'true'
})
const navigate = useNavigate();
const me = useLayoutStore(state => state.me)
const configStore = useConfigStore(useShallow(state => ({ checkConfig: state.checkConfig })))
useEffect(() => {
refresh({ showTips: false })
}, [])
useEffect(() => {
if (me && me.id) {
configStore.checkConfig({ isUser: true, reload: true })
}
}, [me])
const appList = useMemo(() => {
const sortedList = [...list].sort((a, b) => {
const aActive = workspaceList.some(ws => ws.slug === a.path)
@@ -136,7 +131,11 @@ export const App = () => {
<Checkbox
id="filter-dev"
checked={filterDev}
onCheckedChange={(checked) => setFilterDev(checked === true)}
onCheckedChange={(checked) => {
const value = checked === true
setFilterDev(value)
localStorage.setItem('repos-filter-dev', String(value))
}}
/>
<label
htmlFor="filter-dev"