+
-
- {/* Placeholder Image */}
-
-
- {/* Information Section */}
-
+
+
+ 資料庫練功坊
+
+
+
+ {/* Do You Know */}
+
- {/* Bottom Section */}
-
- {/* Status and Navigation */}
-
-
}>
-
-
+ {/* Bottom Section */}
+
+ {/* Status and Navigation */}
+
+
}>
+
+
-
+
-
+
+ 向 GitHub 貢獻程式碼,每次都能直接獲得 200 - 700 點不等的點數!
+
+
-
- {/* Right Login Area */}
-
);
diff --git a/app/login/status.action.ts b/app/login/status.action.ts
index 3c8a776..87ba659 100644
--- a/app/login/status.action.ts
+++ b/app/login/status.action.ts
@@ -1,11 +1,17 @@
"use server";
-export async function getUpstreamStatus(): Promise
{
+export async function getUpstreamLatency(): Promise {
try {
- const response = await fetch("https://api.dbplay.app");
- return response.ok;
+ const start = Date.now();
+
+ const response = await fetch("https://api.dbplay.app", { method: "HEAD" });
+ if (!response.ok) {
+ return -1;
+ }
+
+ return Date.now() - start;
} catch (error) {
console.error("Error getting upstream status:", error);
- return false;
+ return -1;
}
}
diff --git a/app/login/status.tsx b/app/login/status.tsx
index 75ce6cf..dee1600 100644
--- a/app/login/status.tsx
+++ b/app/login/status.tsx
@@ -1,10 +1,11 @@
+import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip";
import { Circle } from "lucide-react";
-import { getUpstreamStatus } from "./status.action";
+import { getUpstreamLatency } from "./status.action";
export async function UpstreamStatus() {
- const status = await getUpstreamStatus();
+ const latency = await getUpstreamLatency();
- if (!status) {
+ if (latency === -1 || latency > 1000) {
return (
@@ -16,12 +17,17 @@ export async function UpstreamStatus() {
}
return (
-
+
+
+
+
+ 延遲:{latency}ms
+
);
}