diff --git a/src/renderer/src/pages/logs.tsx b/src/renderer/src/pages/logs.tsx index 268fd3d..f21ab1e 100644 --- a/src/renderer/src/pages/logs.tsx +++ b/src/renderer/src/pages/logs.tsx @@ -9,6 +9,8 @@ import { useTranslation } from 'react-i18next' import { includesIgnoreCase } from '@renderer/utils/includes' +const LOGS_FILTER_KEY = 'logs-filter' + const cachedLogs: { log: IMihomoLogInfo[] trigger: ((i: IMihomoLogInfo[]) => void) | null @@ -38,7 +40,9 @@ window.electron.ipcRenderer.on('mihomoLogs', (_e, log: IMihomoLogInfo) => { const Logs: React.FC = () => { const { t } = useTranslation() const [logs, setLogs] = useState(cachedLogs.log) - const [filter, setFilter] = useState('') + const [filter, setFilter] = useState(() => { + return localStorage.getItem(LOGS_FILTER_KEY) || '' + }) const [trace, setTrace] = useState(true) const virtuosoRef = useRef(null) @@ -49,6 +53,10 @@ const Logs: React.FC = () => { }) }, [logs, filter]) + useEffect(() => { + localStorage.setItem(LOGS_FILTER_KEY, filter) + }, [filter]) + useEffect(() => { if (!trace) return virtuosoRef.current?.scrollToIndex({