From 9cfac48b592feaad9f3d8ae0cf80e7c83f2acd03 Mon Sep 17 00:00:00 2001 From: hzm <934585316@qq.com> Date: Thu, 5 Mar 2026 18:57:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9C=AC=E5=9C=B0=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/page.jsx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/page.jsx b/app/page.jsx index 623007b..3299a94 100644 --- a/app/page.jsx +++ b/app/page.jsx @@ -352,6 +352,24 @@ export default function HomePage() { // 排序状态 const [sortBy, setSortBy] = useState('default'); // default, name, yield, holding const [sortOrder, setSortOrder] = useState('desc'); // asc | desc + const [isSortLoaded, setIsSortLoaded] = useState(false); + + useEffect(() => { + if (typeof window !== 'undefined') { + const savedSortBy = window.localStorage.getItem('localSortBy'); + const savedSortOrder = window.localStorage.getItem('localSortOrder'); + if (savedSortBy) setSortBy(savedSortBy); + if (savedSortOrder) setSortOrder(savedSortOrder); + setIsSortLoaded(true); + } + }, []); + + useEffect(() => { + if (typeof window !== 'undefined' && isSortLoaded) { + window.localStorage.setItem('localSortBy', sortBy); + window.localStorage.setItem('localSortOrder', sortOrder); + } + }, [sortBy, sortOrder, isSortLoaded]); // 视图模式 const [viewMode, setViewMode] = useState('card'); // card, list