From 97ee74899c7bcbf87fccbba8dbbcf3f7a2b768d7 Mon Sep 17 00:00:00 2001 From: nyne Date: Thu, 2 Oct 2025 22:25:37 +0800 Subject: [PATCH] Update home page --- frontend/src/network/models.ts | 6 ++ frontend/src/network/network.ts | 7 ++ frontend/src/pages/home_page.tsx | 84 +++++++++++++++++++++--- server/middleware/frontend_middleware.go | 4 +- 4 files changed, 90 insertions(+), 11 deletions(-) diff --git a/frontend/src/network/models.ts b/frontend/src/network/models.ts index cc30221..4c4575e 100644 --- a/frontend/src/network/models.ts +++ b/frontend/src/network/models.ts @@ -205,3 +205,9 @@ export interface Collection { images: Image[]; isPublic: boolean; } + +export interface Statistics { + total_resources: number; + total_files: number; + start_time: number; +} diff --git a/frontend/src/network/network.ts b/frontend/src/network/network.ts index d275a5d..1a0cd9d 100644 --- a/frontend/src/network/network.ts +++ b/frontend/src/network/network.ts @@ -20,6 +20,7 @@ import { Activity, CommentWithRef, Collection, + Statistics, } from "./models.ts"; class Network { @@ -795,6 +796,12 @@ class Network { }), ); } + + async getStatistic(): Promise> { + return this._callApi(() => + axios.get(`${this.apiBaseUrl}/config/statistics`), + ); + } } export const network = new Network(); diff --git a/frontend/src/pages/home_page.tsx b/frontend/src/pages/home_page.tsx index 93892e7..0bf19aa 100644 --- a/frontend/src/pages/home_page.tsx +++ b/frontend/src/pages/home_page.tsx @@ -2,12 +2,17 @@ import { useEffect, useState } from "react"; import ResourcesView from "../components/resources_view.tsx"; import { network } from "../network/network.ts"; import { app } from "../app.ts"; -import { Resource, RSort } from "../network/models.ts"; +import { Resource, RSort, Statistics } from "../network/models.ts"; import { useTranslation } from "../utils/i18n"; import { useAppContext } from "../components/AppContext.tsx"; import Select from "../components/select.tsx"; import { useNavigate } from "react-router"; import { useNavigator } from "../components/navigator.tsx"; +import { + MdOutlineAccessTime, + MdOutlineArchive, + MdOutlineClass, +} from "react-icons/md"; export default function HomePage() { useEffect(() => { @@ -33,7 +38,7 @@ export default function HomePage() { return ( <> - +