diff --git a/app/[locale]/(main)/ClientComponents/NetworkChart.tsx b/app/[locale]/(main)/ClientComponents/NetworkChart.tsx
index ec9a91d..d0b0c2b 100644
--- a/app/[locale]/(main)/ClientComponents/NetworkChart.tsx
+++ b/app/[locale]/(main)/ClientComponents/NetworkChart.tsx
@@ -28,9 +28,9 @@ import { useLocale } from "next-intl";
import { useTranslations } from "next-intl";
import { useRouter } from "next/navigation";
import * as React from "react";
+import { useCallback, useMemo } from "react";
import { CartesianGrid, Line, LineChart, XAxis, YAxis } from "recharts";
import useSWR from "swr";
-import { useMemo, useCallback } from 'react';
interface ResultItem {
created_at: number;
@@ -64,7 +64,6 @@ export function NetworkChartClient({ server_id }: { server_id: number }) {
if (!data) return ;
-
const transformedData = transformData(data);
const formattedData = formatData(data);
@@ -109,32 +108,40 @@ export const NetworkChart = React.memo(function NetworkChart({
const [activeChart, setActiveChart] = React.useState(defaultChart);
- const handleButtonClick = useCallback((chart: string) => {
- setActiveChart(prev => prev === chart ? defaultChart : chart);
- }, [defaultChart]);
+ const handleButtonClick = useCallback(
+ (chart: string) => {
+ setActiveChart((prev) => (prev === chart ? defaultChart : chart));
+ },
+ [defaultChart],
+ );
- const getColorByIndex = useCallback((chart: string) => {
- const index = chartDataKey.indexOf(chart);
- return `hsl(var(--chart-${(index % 10) + 1}))`;
- }, [chartDataKey]);
+ const getColorByIndex = useCallback(
+ (chart: string) => {
+ const index = chartDataKey.indexOf(chart);
+ return `hsl(var(--chart-${(index % 10) + 1}))`;
+ },
+ [chartDataKey],
+ );
- const chartButtons = useMemo(() => (
- chartDataKey.map((key) => (
-
- ))
- ), [chartDataKey, activeChart, chartData, handleButtonClick]);
+ const chartButtons = useMemo(
+ () =>
+ chartDataKey.map((key) => (
+
+ )),
+ [chartDataKey, activeChart, chartData, handleButtonClick],
+ );
const chartLines = useMemo(() => {
if (activeChart !== defaultChart) {
@@ -180,9 +187,7 @@ export const NetworkChart = React.memo(function NetworkChart({
{chartDataKey.length} {t("ServerMonitorCount")}
-
- {chartButtons}
-
+ {chartButtons}
@@ -235,7 +244,6 @@ export const NetworkChart = React.memo(function NetworkChart({
);
});
-
const transformData = (data: NezhaAPIMonitor[]) => {
const monitorData: ServerMonitorChart = {};
@@ -255,7 +263,7 @@ const transformData = (data: NezhaAPIMonitor[]) => {
});
return monitorData;
-}
+};
const formatData = (rawData: NezhaAPIMonitor[]) => {
const result: { [time: number]: ResultItem } = {};
@@ -282,4 +290,4 @@ const formatData = (rawData: NezhaAPIMonitor[]) => {
});
return Object.values(result).sort((a, b) => a.created_at - b.created_at);
-};
\ No newline at end of file
+};
diff --git a/app/[locale]/(main)/detail/[id]/page.tsx b/app/[locale]/(main)/detail/[id]/page.tsx
new file mode 100644
index 0000000..47d32f6
--- /dev/null
+++ b/app/[locale]/(main)/detail/[id]/page.tsx
@@ -0,0 +1,7 @@
+export default function Page({ params }: { params: { id: string } }) {
+ return (
+
+ {params.id}
+
+ );
+}
diff --git a/bun.lockb b/bun.lockb
index 91e32b6..0c25b04 100755
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/components/ServerCard.tsx b/components/ServerCard.tsx
index 36a40dc..7ff341e 100644
--- a/components/ServerCard.tsx
+++ b/components/ServerCard.tsx
@@ -36,35 +36,39 @@ export default function ServerCard({
"flex flex-col items-center justify-start gap-3 p-3 md:px-5 lg:flex-row"
}
>
-
+ {/*
-
-
- {showFlag ? : null}
-
-
- {name}
-
-
-
+
-
+ */}
+ {
+ router.push(`/${locale}/detail/${id}`);
+ }}
+ >
+
+ {showFlag ? : null}
+
+
+ {name}
+
+
+
{
router.push(`/${locale}/${id}`);