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
+23 -2

No files matched your search

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