import { Card, Group, Text, ThemeIcon, Badge, Avatar, Stack, Button, Progress, Box, useComputedColorScheme } from '@mantine/core' import { Link } from '@tanstack/react-router' import { TbDeviceMobile, TbActivity, TbAlertTriangle, TbChevronRight } from 'react-icons/tb' interface AppCardProps { id: string name: string status: 'active' | 'warning' | 'error' users: number errors: number version: string } export function AppCard({ id, name, status, users, errors, version }: AppCardProps) { const statusColor = status === 'active' ? 'teal' : status === 'warning' ? 'orange' : 'red' const scheme = useComputedColorScheme('light', { getInitialValueInEffect: true }) return ( ({ root: { backgroundColor: 'var(--mantine-color-body)', borderColor: scheme === 'dark' ? 'rgba(255,255,255,0.08)' : 'rgba(0,0,0,0.05)', transition: 'transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease', '&:hover': { transform: 'translateY(-4px)', boxShadow: theme.shadows.md, borderColor: 'rgba(37, 99, 235, 0.3)', }, }, })} > {name} VERSION {version} {status.toUpperCase()} {/* USER ADOPTION {users.toLocaleString()} 0 ? '#ef4444' : '#64748b'} /> ERROR 0 ? 'red' : 'dimmed'}>{errors} 0 ? 30 : 0} size="sm" color="red" radius="xl" /> */} ) }