import React, { useState } from 'react'; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Input, Label, PageHeader, Progress, RadioGroup, RadioGroupItem, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Separator, Slider, StatsCard, Switch, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Textarea, Tooltip, TooltipContent, TooltipTrigger, } from 'xertica-ui/ui'; import { Header } from 'xertica-ui/layout'; import { useLayout } from 'xertica-ui/hooks'; import { Link } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { toast } from 'sonner'; import { Activity, DollarSign, Mail, Search, Settings, ThumbsUp, Users, } from 'lucide-react'; interface MockUser { id: string; name: string; email: string; status: 'active' | 'invited' | 'inactive'; } const MOCK_USERS: MockUser[] = [ { id: '1', name: 'Ana Souza', email: 'ana.souza@example.com', status: 'active' }, { id: '2', name: 'Bruno Lima', email: 'bruno.lima@example.com', status: 'invited' }, { id: '3', name: 'Carla Dias', email: 'carla.dias@example.com', status: 'active' }, { id: '4', name: 'Diego Alves', email: 'diego.alves@example.com', status: 'inactive' }, ]; /** * Template page content — Design System showcase. * * Curated overview of the most common `xertica-ui/ui` primitives, grouped by * category. Replace this with your own page content — keep the `Header` + * `useLayout()` wiring below if you want the sidebar-aware layout to keep * working. */ export function TemplateContent() { const { t } = useTranslation(); const { sidebarExpanded, sidebarWidth } = useLayout(); const [progress, setProgress] = useState(45); const [volume, setVolume] = useState([60]); const [tableFilter, setTableFilter] = useState(''); const filteredUsers = MOCK_USERS.filter(user => `${user.name} ${user.email}`.toLowerCase().includes(tableFilter.toLowerCase()) ); const handleFormSubmit = (event: React.FormEvent) => { event.preventDefault(); toast.success(t('templates.forms.submitSuccess')); }; return (
) => ( )} />
{/* Replace this with your own page content — everything below is a Design System showcase */} {/* Overview */}

{t('templates.sections.overview')}

} iconColor="text-primary" iconBg="bg-primary/10" trend={{ value: 12 }} /> } iconColor="text-success" iconBg="bg-success/10" trend={{ value: 8 }} /> } iconColor="text-info" iconBg="bg-info/10" trend={{ value: -2 }} />
{/* Buttons */}

{t('templates.sections.buttons')}

{t('templates.buttons.title')} {t('templates.buttons.description')}
{/* Badges */}

{t('templates.sections.badges')}

{t('templates.badges.title')} {t('templates.badges.description')}
Default Secondary Outline Destructive Success Warning Info
{/* Alerts */}

{t('templates.sections.alerts')}

{t('templates.alerts.infoTitle')} {t('templates.alerts.infoDescription')} {t('templates.alerts.successTitle')} {t('templates.alerts.successDescription')} {t('templates.alerts.warningTitle')} {t('templates.alerts.warningDescription')} {t('templates.alerts.errorTitle')} {t('templates.alerts.errorDescription')}
{/* Form Elements */}

{t('templates.sections.forms')}

{t('templates.forms.title')} {t('templates.forms.description')}