import { useState } from 'react'; import { Link } from 'react-router-dom'; import { useBrands, useDeleteBrand } from '@/hooks/useBrands'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '@/components/ui/card'; import { Plus, Search, Palette, Pencil, Trash2 } from 'lucide-react'; export default function BrandsPage() { const [search, setSearch] = useState(''); const [page, setPage] = useState(1); const { data, isLoading } = useBrands({ search, page, limit: 12 }); const deleteBrand = useDeleteBrand(); const handleDelete = (id: string) => { if (confirm('¿Está seguro de eliminar esta marca?')) { deleteBrand.mutate(id); } }; return (
{/* Header */}

Marcas

Gestiona las marcas de tus clientes

{/* Search */}
setSearch(e.target.value)} className="pl-9" />
{/* Grid */} {isLoading ? (
{[...Array(6)].map((_, i) => (
))}
) : data?.data?.length === 0 ? (

No hay marcas

Comienza agregando tu primera marca

) : (
{data?.data?.map((brand) => (
{brand.logo_url ? ( {brand.name} ) : (
{brand.name.charAt(0).toUpperCase()}
)}
{brand.name} {brand.client && ( {brand.client.name} )}
{brand.description && (

{brand.description}

)} {(brand.primary_color || brand.secondary_color) && (
{brand.primary_color && (
)} {brand.secondary_color && (
)}
)}
{brand.is_active ? 'Activa' : 'Inactiva'}
))}
)} {/* Pagination */} {data?.meta && data.meta.totalPages > 1 && (
Página {data.meta.page} de {data.meta.totalPages}
)}
); }