refactor(panel): uniform title icon styles

This commit is contained in:
Lemon-miaow committed 2026-06-27 21:17:30 +08:00
1 parent f3521e3712
commit 18b4be0407
6 files changed
+55 -34

No files matched your search

+9 -6
View File
@@ -1,5 +1,5 @@
import { useState, type FormEvent } from "react";
import { CheckCircle2, Link2, LogOut, ShieldCheck } from "lucide-react";
import { CheckCircle2, Link2, LogOut, ShieldCheck, UserRound } from "lucide-react";
import { useTranslation } from "react-i18next";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Button } from "@/components/ui/button";
@@ -68,11 +68,14 @@ export function Account() {
return (
<>
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("title")}</h1>
<p className="text-sm text-muted-foreground">
{t("subtitle")}
</p>
<div className="flex items-center gap-3">
<UserRound className="h-6 w-6 text-primary" />
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("title")}</h1>
<p className="text-sm text-muted-foreground">
{t("subtitle")}
</p>
</div>
</div>
<Card>
+7 -3
View File
@@ -12,6 +12,7 @@ import {
Database,
Box,
Hand,
LayoutDashboard,
} from "lucide-react";
import { useTranslation } from "react-i18next";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
@@ -82,9 +83,12 @@ export function Dashboard() {
return (
<>
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("title")}</h1>
<p className="text-sm text-muted-foreground">{t("subtitle")}</p>
<div className="flex items-center gap-3">
<LayoutDashboard className="h-6 w-6 text-primary" />
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("title")}</h1>
<p className="text-sm text-muted-foreground">{t("subtitle")}</p>
</div>
</div>
{loading && !servers ? (
+9 -5
View File
@@ -1,3 +1,4 @@
import { Server } from "lucide-react";
import { useTranslation } from "react-i18next";
import { Card, CardContent } from "@/components/ui/card";
import { ServerCard } from "@/components/ServerCard";
@@ -16,11 +17,14 @@ export function MyServers() {
return (
<>
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("my_servers_title")}</h1>
<p className="text-sm text-muted-foreground">
{t("my_servers_subtitle")}
</p>
<div className="flex items-center gap-3">
<Server className="h-6 w-6 text-primary" />
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("my_servers_title")}</h1>
<p className="text-sm text-muted-foreground">
{t("my_servers_subtitle")}
</p>
</div>
</div>
{loading && !data ? (
+12 -9
View File
@@ -91,15 +91,18 @@ export function ServerConsole() {
) : data ? (
<>
<div className="flex flex-wrap items-center justify-between gap-3">
<div>
<h1 className="text-2xl font-semibold tracking-tight">
{data.displayName || data.name}
</h1>
{cfg && (
<p className="text-sm text-muted-foreground">
{hostFor(data.subdomain, cfg)}
</p>
)}
<div className="flex items-center gap-3">
<Terminal className="h-6 w-6 text-primary" />
<div>
<h1 className="text-2xl font-semibold tracking-tight">
{data.displayName || data.name}
</h1>
{cfg && (
<p className="text-sm text-muted-foreground">
{hostFor(data.subdomain, cfg)}
</p>
)}
</div>
</div>
<div className="flex items-center gap-2">
<PhaseBadge phase={data.phase} />
+8 -5
View File
@@ -18,11 +18,14 @@ export function ImageAdmin() {
return (
<>
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("images_title")}</h1>
<p className="text-sm text-muted-foreground">
{t("images_subtitle")}
</p>
<div className="flex items-center gap-3">
<Boxes className="h-6 w-6 text-primary" />
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("images_title")}</h1>
<p className="text-sm text-muted-foreground">
{t("images_subtitle")}
</p>
</div>
</div>
{loading && !data ? (
+10 -6
View File
@@ -1,3 +1,4 @@
import { ServerCog } from "lucide-react";
import { useTranslation } from "react-i18next";
import { Card, CardContent } from "@/components/ui/card";
import { ServerCard } from "@/components/ServerCard";
@@ -24,12 +25,15 @@ export function ServerAdmin() {
return (
<>
<div className="flex items-center justify-between gap-4">
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("servers")}</h1>
<p className="text-sm text-muted-foreground">
{t("server_admin_subtitle")}
</p>
<div className="flex flex-wrap items-center justify-between gap-4">
<div className="flex items-center gap-3">
<ServerCog className="h-6 w-6 text-primary" />
<div>
<h1 className="text-2xl font-semibold tracking-tight">{t("servers")}</h1>
<p className="text-sm text-muted-foreground">
{t("server_admin_subtitle")}
</p>
</div>
</div>
{cfg && <CreateServerDialog cfg={cfg} onCreated={reload} />}
</div>