diff --git a/Wavelet/frontend/app/(main)/about/page.tsx b/Wavelet/frontend/app/(main)/about/page.tsx deleted file mode 100644 index 632d5f22..00000000 --- a/Wavelet/frontend/app/(main)/about/page.tsx +++ /dev/null @@ -1,203 +0,0 @@ -"use client" - -import Link from "next/link" -import {useQuery} from "@tanstack/react-query" -import {Info} from "lucide-react" -import ReactMarkdown from "react-markdown" -import remarkGfm from "remark-gfm" - -import {EmptyStateWithBorder} from "@/components/layout/empty" -import {ErrorInline} from "@/components/layout/error" -import {Badge} from "@/components/ui/badge" -import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/components/ui/card" -import {Skeleton} from "@/components/ui/skeleton" -import {AboutService, StatusService} from "@/lib/services/openflare" -import {formatDateTime} from "@/lib/utils" - -const aboutQueryKey = ["openflare", "about"] as const -const publicStatusQueryKey = ["openflare", "public-status"] as const - -function AboutPageSkeleton() { - return ( -
-
- - -
- - - - - - - - - - - - - - - - - - - - - - -
- ) -} - -export default function AboutPage() { - const aboutQuery = useQuery({ - queryKey: aboutQueryKey, - queryFn: () => AboutService.getAboutContent(), - }) - - const statusQuery = useQuery({ - queryKey: publicStatusQueryKey, - queryFn: () => StatusService.getPublicStatus(), - }) - - const isLoading = aboutQuery.isLoading || statusQuery.isLoading - - if (isLoading) { - return - } - - if (aboutQuery.isError) { - return ( -
- void aboutQuery.refetch()} - /> -
- ) - } - - if (statusQuery.isError) { - return ( -
- void statusQuery.refetch()} - /> -
- ) - } - - const aboutContent = aboutQuery.data?.trim() ?? "" - const status = statusQuery.data - - if (!status) { - return ( -
- -
- ) - } - - return ( -
-
- -
-

关于 OpenFlare

-

- 公开展示当前系统简介、版本信息与项目入口。 -

-
-
- - - -
- 系统信息 - 当前运行实例的公开状态与项目链接。 -
- {status.version || "dev"} -
- -
-

- 系统名称 -

-

- {status.system_name || "OpenFlare"} -

-
-
-

- Server 启动时间 -

-

- {formatDateTime(new Date(status.start_time * 1000))} -

-
-
-

- 项目仓库 -

- - github.com/Rain-kl/OpenFlare - -
-
-
- - {aboutContent ? ( - - - 项目介绍 - - 以下内容由系统设置中的「关于内容」维护。 - - - -
- {aboutContent} -
-
-
- ) : ( - - )} - -
- - 返回总览 - -
-
- ) -} \ No newline at end of file diff --git a/Wavelet/frontend/app/(main)/admin/settings/page-client.tsx b/Wavelet/frontend/app/(main)/admin/settings/page-client.tsx index 339ae274..a740408d 100644 --- a/Wavelet/frontend/app/(main)/admin/settings/page-client.tsx +++ b/Wavelet/frontend/app/(main)/admin/settings/page-client.tsx @@ -105,6 +105,9 @@ export function AdminSettingsPageClient() { + + OpenFlare + 安全设置 @@ -123,9 +126,6 @@ export function AdminSettingsPageClient() { 系统信息 - - OpenFlare 运维 - @@ -152,4 +152,4 @@ export function AdminSettingsPageClient() { ) -} \ No newline at end of file +} diff --git a/Wavelet/frontend/lib/navigation/openflare-nav.ts b/Wavelet/frontend/lib/navigation/openflare-nav.ts index 32b2bac0..a82e649d 100644 --- a/Wavelet/frontend/lib/navigation/openflare-nav.ts +++ b/Wavelet/frontend/lib/navigation/openflare-nav.ts @@ -1,11 +1,9 @@ import type {LucideIcon} from 'lucide-react'; import { - ClipboardList, FileText, Gauge, GitBranch, Globe, - Info, LayoutDashboard, MapPin, Route, @@ -24,9 +22,9 @@ export interface OpenFlareNavItem { /** OpenFlare 业务控制台侧栏导航(子页面通过父级入口或页内链接访问) */ export const openflareNavItems: OpenFlareNavItem[] = [ - {title: '总览', url: '/', icon: LayoutDashboard}, - {title: '节点', url: '/nodes', icon: Server, childUrls: ['/nodes/detail']}, - {title: '规则', url: '/proxy-routes', icon: Route, childUrls: ['/proxy-routes/detail']}, + {title: '数据看板', url: '/', icon: LayoutDashboard}, + {title: '节点管理', url: '/nodes', icon: Server, childUrls: ['/nodes/detail']}, + {title: '规则管理', url: '/proxy-routes', icon: Route, childUrls: ['/proxy-routes/detail']}, {title: 'Pages', url: '/pages', icon: FileText, childUrls: ['/pages/detail']}, { title: '网站', @@ -40,11 +38,9 @@ export const openflareNavItems: OpenFlareNavItem[] = [ }, {title: 'WAF', url: '/waf', icon: Shield, childUrls: ['/waf/ip-groups']}, {title: '源站', url: '/origins', icon: MapPin, childUrls: ['/origins/detail']}, - {title: '发布', url: '/config-versions', icon: GitBranch}, + {title: '版本发布', url: '/config-versions', icon: GitBranch}, {title: '访问日志', url: '/access-logs', icon: ScrollText}, - {title: '应用日志', url: '/apply-logs', icon: ClipboardList}, - {title: '性能', url: '/performance', icon: Gauge}, - {title: '关于', url: '/about', icon: Info}, + {title: '性能调优', url: '/performance', icon: Gauge}, ]; /** 网站模块页内二级导航 */ @@ -68,4 +64,4 @@ export function isOpenFlareConsoleRoute(pathname: string): boolean { } return pathname === item.url || pathname.startsWith(`${item.url}/`); }); -} \ No newline at end of file +}