"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}
) : ( )}
返回总览
) }