mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-10-09 03:06:37 +08:00
938e9ff4fd
* docs: add design spec for iOS 26 Liquid Glass UI redesign * docs: add implementation plan for iOS 26 Liquid Glass UI redesign * feat(ui): add liquid glass CSS variables and update root layouts * feat(ui): update Card and Modal components to iOS 26 Liquid Glass style * feat(ui): redesign dashboard page to Liquid Glass style * feat(ui): redesign node management page cards and charts * feat(ui): redesign monitor page to Liquid Glass style * feat(ui): redesign group and panel-sharing cards to Liquid Glass * feat(ui): redesign settings and user components to Liquid Glass * feat(ui): redesign profile and auth pages to Liquid Glass * fix(ui): revert to LineChart to fix compilation issues * refactor(ui): extract dashboard user header and cleanup admin layout * feat(ui): refine monitor page hero metrics and fix build * fix(ui): real data for monitor hero metrics and card padding adjustments * fix(ui): apply global card padding and fix index layouts * feat(ui): implement liquid-glass-react for all Card components * fix(ui): resolve liquid-glass-react rendering issues causing invisible text and broken layout * fix(ui): native CSS liquid-glass effect replacing NPM package * fix(ui): cleanup duplicate closing tags and complete liquid glass tables * fix(ui): apply perfect rounded corners to list views and table headers in non-compact mode * fix(ui): apply liquid glass styling to grouped rules view in forward page * fix(ui): re-implement liquid-glass natively to prevent text distortion and remove package dependency * fix(ui): remove mouse distortion and preserve proper liquid glass texture * fix(ui): remove svg filter causing text distortion and replace with pure css liquid glass * fix(ui): apply properly scoped border radius to table headers * fix(ui): remove hardcoded bg-default-50/60 from TableHeader * fix(ui): apply global liquid glass styling and transparent overlays to all modals and dialogs * fix(ui): remove absolute/relative class conflicts hiding Dialog modales and implement pure transparent layout * feat(ui): apply global liquid glass styling to cards, buttons, and diagnosis modals
45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
import type { ReactNode } from "react";
|
|
|
|
import { Card, CardBody } from "@/shadcn-bridge/heroui/card";
|
|
|
|
interface MetricCardProps {
|
|
title: string;
|
|
value: string | number;
|
|
iconClassName: string;
|
|
icon: ReactNode;
|
|
bottomContent?: ReactNode;
|
|
}
|
|
|
|
export const MetricCard = ({
|
|
title,
|
|
value,
|
|
iconClassName,
|
|
icon,
|
|
bottomContent,
|
|
}: MetricCardProps) => {
|
|
return (
|
|
<Card className="h-48 flex flex-col justify-between overflow-hidden">
|
|
<CardBody className="!p-4 md:!p-6 h-full flex flex-col justify-between overflow-visible">
|
|
<div className="flex flex-col space-y-4">
|
|
<div className="flex items-center justify-between">
|
|
<p className="text-sm font-medium text-default-600 truncate">
|
|
{title}
|
|
</p>
|
|
<div
|
|
className={`p-2 rounded-xl flex-shrink-0 ${iconClassName}`}
|
|
>
|
|
{icon}
|
|
</div>
|
|
</div>
|
|
<p className="text-2xl lg:text-3xl font-bold text-foreground truncate mt-2">
|
|
{value}
|
|
</p>
|
|
</div>
|
|
<div className="mt-auto pt-4">
|
|
{bottomContent}
|
|
</div>
|
|
</CardBody>
|
|
</Card>
|
|
);
|
|
};
|