diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 7f3162f..4b26372 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -10,7 +10,10 @@ const Footer: React.FC = () => { Nezha - + Nezha-Dash diff --git a/src/components/ServerCard.tsx b/src/components/ServerCard.tsx index 06ce7df..1b34273 100644 --- a/src/components/ServerCard.tsx +++ b/src/components/ServerCard.tsx @@ -5,20 +5,14 @@ import { cn, formatNezhaInfo } from "@/lib/utils"; import { NezhaAPI } from "@/types/nezha-api"; import { Card } from "./ui/card"; -export default function ServerCard({ - serverInfo, -}: { - serverInfo: NezhaAPI; -}) { - - const { name, country_code, online, cpu, up, down, mem, stg } = +export default function ServerCard({ serverInfo }: { serverInfo: NezhaAPI }) { + const { name, country_code, online, cpu, up, down, mem, stg } = formatNezhaInfo(serverInfo); - const showFlag = true - + const showFlag = true; return online ? ( -
+
-
+

{"CPU"}

diff --git a/src/components/ServerFlag.tsx b/src/components/ServerFlag.tsx index 82fdbca..6dd48db 100644 --- a/src/components/ServerFlag.tsx +++ b/src/components/ServerFlag.tsx @@ -11,7 +11,6 @@ export default function ServerFlag({ }) { const [supportsEmojiFlags, setSupportsEmojiFlags] = useState(false); - useEffect(() => { const checkEmojiSupport = () => { const canvas = document.createElement("canvas"); @@ -38,7 +37,7 @@ export default function ServerFlag({ return ( - { !supportsEmojiFlags ? ( + {!supportsEmojiFlags ? ( ) : ( getUnicodeFlagIcon(country_code) diff --git a/src/components/ServerOverview.tsx b/src/components/ServerOverview.tsx index f2d3d4a..edc61d7 100644 --- a/src/components/ServerOverview.tsx +++ b/src/components/ServerOverview.tsx @@ -7,17 +7,19 @@ type ServerOverviewProps = { total: number; up: number; down: number; -} - - -export default function ServerOverview({ online, offline, total, up, down }: ServerOverviewProps) { +}; +export default function ServerOverview({ + online, + offline, + total, + up, + down, +}: ServerOverviewProps) { return ( <>
- +

@@ -27,9 +29,7 @@ export default function ServerOverview({ online, offline, total, up, down }: Ser -

- {total} -
+
{total}
@@ -50,9 +50,7 @@ export default function ServerOverview({ online, offline, total, up, down }: Ser -
- {online} -
+
{online}
@@ -60,7 +58,6 @@ export default function ServerOverview({ online, offline, total, up, down }: Ser @@ -73,9 +70,7 @@ export default function ServerOverview({ online, offline, total, up, down }: Ser -
- {offline} -
+
{offline}
@@ -83,7 +78,6 @@ export default function ServerOverview({ online, offline, total, up, down }: Ser @@ -92,16 +86,15 @@ export default function ServerOverview({ online, offline, total, up, down }: Ser {"Totalbandwidth"}

-
-

- ↑{formatBytes(up)} -

-

- ↓{formatBytes(down)} -

-
+
+

+ ↑{formatBytes(up)} +

+

+ ↓{formatBytes(down)} +

+
-
diff --git a/src/components/ui/progress.tsx b/src/components/ui/progress.tsx index 9b5e72e..e7ca368 100644 --- a/src/components/ui/progress.tsx +++ b/src/components/ui/progress.tsx @@ -1,28 +1,31 @@ -import * as React from "react" -import * as ProgressPrimitive from "@radix-ui/react-progress" +import * as React from "react"; +import * as ProgressPrimitive from "@radix-ui/react-progress"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; const Progress = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef & { - indicatorClassName?: string + indicatorClassName?: string; } >(({ className, value, indicatorClassName, ...props }, ref) => ( -)) -Progress.displayName = ProgressPrimitive.Root.displayName +)); +Progress.displayName = ProgressPrimitive.Root.displayName; -export { Progress } +export { Progress }; diff --git a/src/hooks/use-websocket.tsx b/src/hooks/use-websocket.tsx index e4b2219..afa5bf4 100644 --- a/src/hooks/use-websocket.tsx +++ b/src/hooks/use-websocket.tsx @@ -48,23 +48,30 @@ export default function useWebSocket(url: string): WebSocketHook { setConnected(false); // 清理当前的 socket socketRef.current = null; - + if (!isUnmounted.current) { // 检查是否已经在重连中 if (reconnectTimeout.current) { clearTimeout(reconnectTimeout.current); } - + // Attempt to reconnect with increased max attempts if (reconnectAttempts.current < 10) { - const timeout = Math.min(Math.pow(2, reconnectAttempts.current) * 1000, 30000); // 最大30秒 + const timeout = Math.min( + Math.pow(2, reconnectAttempts.current) * 1000, + 30000, + ); // 最大30秒 reconnectAttempts.current += 1; - console.log(`Attempting to reconnect in ${timeout/1000} seconds...`); + console.log( + `Attempting to reconnect in ${timeout / 1000} seconds...`, + ); reconnectTimeout.current = setTimeout(() => { connect(); }, timeout); } else { - console.warn("Max reconnect attempts reached. Please refresh the page to try again."); + console.warn( + "Max reconnect attempts reached. Please refresh the page to try again.", + ); } } };