diff --git a/src/components/ServerCard.tsx b/src/components/ServerCard.tsx
index 6bb7520..7f736fe 100644
--- a/src/components/ServerCard.tsx
+++ b/src/components/ServerCard.tsx
@@ -11,7 +11,7 @@ import PlanInfo from "./PlanInfo"
import BillingInfo from "./billingInfo"
import { Card, CardContent, CardHeader, CardFooter } from "./ui/card"
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/tooltip"
-import { ArrowDown, ArrowUp, Clock, Cpu, HardDrive, Server, Activity, BarChart3, Calendar } from "lucide-react"
+import { ArrowDown, ArrowUp, Clock, Cpu, HardDrive, Server, Activity, BarChart3 } from "lucide-react"
interface ServerCardProps {
now: number;
@@ -19,9 +19,10 @@ interface ServerCardProps {
cycleStats?: {
[key: string]: CycleTransferData
};
+ groupName?: string;
}
-export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardProps) {
+export default function ServerCard({ now, serverInfo, cycleStats, groupName }: ServerCardProps) {
const { t } = useTranslation()
const navigate = useNavigate()
const {
@@ -44,7 +45,6 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
udp,
process,
uptime,
- last_active_time_string,
arch,
swap,
swap_total
@@ -201,7 +201,17 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
onClick={cardClick}
>
-
+
+ {/* 离线卡片的分组标签 */}
+ {groupName && (
+
+ )}
+
+
{showFlag &&
}
@@ -272,14 +282,20 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
)}
onClick={cardClick}
>
+ {/* 左侧状态条 */}
-
+
{showFlag &&
}
{name}
+ {groupName && (
+
+ {groupName}
+
+ )}
@@ -308,13 +324,6 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
{formatUptime(uptime, t)}
)}
-
- {last_active_time_string && (
-
-
- {last_active_time_string}
-
- )}
@@ -434,8 +443,8 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
90 ? "bg-red-500/10 text-red-600 dark:text-red-400" :
- Number(swap) > 70 ? "bg-orange-500/10 text-orange-600 dark:text-orange-400" : "")}>
+ Number(swap) > 90 ? "bg-red-500/10 text-red-600 dark:text-red-400" :
+ Number(swap) > 70 ? "bg-orange-500/10 text-orange-600 dark:text-orange-400" : "")}>
SWAP:{swap.toFixed(0)}%
@@ -453,7 +462,7 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
- ):(
+ ) : (
-
diff --git a/src/pages/Server.tsx b/src/pages/Server.tsx
index 1a393aa..1a04f9f 100644
--- a/src/pages/Server.tsx
+++ b/src/pages/Server.tsx
@@ -335,14 +335,22 @@ export default function Servers() {
{showMap === "1" && }
{showServices === "1" && }
- {filteredServers.map((serverInfo) => (
-
- ))}
+ {filteredServers.map((serverInfo) => {
+ // 查找服务器所属的分组
+ const serverGroup = groupData?.data?.find(
+ (g: ServerGroup) => Array.isArray(g.servers) && g.servers.includes(serverInfo.id)
+ );
+
+ return (
+
+ );
+ })}
)