From bcf89ca434b1edfbcff0b5f5b68c2e6661b7c032 Mon Sep 17 00:00:00 2001 From: Junyan Qin Date: Sun, 12 Oct 2025 21:11:30 +0800 Subject: [PATCH] perf: store pipeline sort method --- web/src/app/home/pipelines/page.tsx | 23 ++++++++++++++++++++++- web/src/i18n/locales/en-US.ts | 1 + web/src/i18n/locales/ja-JP.ts | 1 + web/src/i18n/locales/zh-Hans.ts | 1 + web/src/i18n/locales/zh-Hant.ts | 1 + 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/web/src/app/home/pipelines/page.tsx b/web/src/app/home/pipelines/page.tsx index c7801a33..c0b3930a 100644 --- a/web/src/app/home/pipelines/page.tsx +++ b/web/src/app/home/pipelines/page.tsx @@ -29,7 +29,17 @@ export default function PluginConfigPage() { const [sortOrderValue, setSortOrderValue] = useState('DESC'); useEffect(() => { - getPipelines(); + // Load sort preference from localStorage + const savedSortBy = localStorage.getItem('pipeline_sort_by'); + const savedSortOrder = localStorage.getItem('pipeline_sort_order'); + + if (savedSortBy && savedSortOrder) { + setSortByValue(savedSortBy); + setSortOrderValue(savedSortOrder); + getPipelines(savedSortBy, savedSortOrder); + } else { + getPipelines(); + } }, []); function getPipelines( @@ -91,6 +101,11 @@ export default function PluginConfigPage() { const [newSortBy, newSortOrder] = value.split(',').map((s) => s.trim()); setSortByValue(newSortBy); setSortOrderValue(newSortOrder); + + // Save sort preference to localStorage + localStorage.setItem('pipeline_sort_by', newSortBy); + localStorage.setItem('pipeline_sort_order', newSortOrder); + getPipelines(newSortBy, newSortOrder); } @@ -135,6 +150,12 @@ export default function PluginConfigPage() { > {t('pipelines.newestCreated')} + + {t('pipelines.earliestCreated')} +