From 2cf83223f6d4b551998e8cd8f74fcec5e7ffd8ae Mon Sep 17 00:00:00 2001
From: Larvan2 <78135608+Larvan2@users.noreply.github.com>
Date: Sat, 18 Apr 2026 14:18:28 +0800
Subject: fix(logs): improve log fetching and add log level selection
---
src/api/logs.ts | 7 +++++--
src/app/router.tsx | 28 +++++++++++-----------------
src/components/Logs.module.scss | 14 ++++++++++++--
src/components/Logs.tsx | 9 +++++++++
src/modules/logs/hooks.ts | 5 ++++-
5 files changed, 41 insertions(+), 22 deletions(-)
(limited to 'src')
diff --git a/src/api/logs.ts b/src/api/logs.ts
index db37bcd..fd08d56 100644
--- a/src/api/logs.ts
+++ b/src/api/logs.ts
@@ -107,7 +107,10 @@ export function fetchLogs(apiConfig: LogsAPIConfig, appendLog: AppendLogFn) {
}
export function stop() {
- ws.close();
+ if (ws) {
+ ws.close();
+ fetched = false;
+ }
if (controller) controller.abort();
}
@@ -146,6 +149,6 @@ function fetchLogsWithFetch(apiConfig: LogsAPIConfig, appendLog: AppendLogFn) {
// eslint-disable-next-line no-console
console.log('GET /logs error:', err.message);
- }
+ },
);
}
diff --git a/src/app/router.tsx b/src/app/router.tsx
index 87e78ee..dc7ce6f 100644
--- a/src/app/router.tsx
+++ b/src/app/router.tsx
@@ -1,26 +1,22 @@
-import * as React from 'react';
+import { Suspense } from 'react';
import { HashRouter, Navigate, Route, RouteObject, Routes, useRoutes } from 'react-router-dom';
import Loading from '~/components/Loading';
-import Loading2 from '~/components/Loading2';
import { Head } from '~/components/shared/Head';
import SideBar from '~/components/SideBar';
import styles from '../App.module.scss';
import APIDiscovery from './APIDiscovery';
-
-const { Suspense, lazy } = React;
-
-const HomePage = lazy(() => import('../pages/HomePage'));
-const ConnectionsPage = lazy(() => import('../pages/ConnectionsPage'));
-const ConfigPage = lazy(() => import('../pages/ConfigPage'));
-const LogsPage = lazy(() => import('../pages/LogsPage'));
-const ProxiesPage = lazy(() => import('../pages/ProxiesPage'));
-const RulesPage = lazy(() => import('../pages/RulesPage'));
-const AboutPage = lazy(() => import('../pages/AboutPage'));
-const BackendPage = lazy(() => import('../pages/BackendPage'));
-const StyleGuidePage = lazy(() => import('../pages/StyleGuidePage'));
+import AboutPage from '../pages/AboutPage';
+import BackendPage from '../pages/BackendPage';
+import ConfigPage from '../pages/ConfigPage';
+import ConnectionsPage from '../pages/ConnectionsPage';
+import HomePage from '../pages/HomePage';
+import LogsPage from '../pages/LogsPage';
+import ProxiesPage from '../pages/ProxiesPage';
+import RulesPage from '../pages/RulesPage';
+import StyleGuidePage from '../pages/StyleGuidePage';
const routes = [
{ path: '/', element: