diff --git a/devfront/src/features/clients/ClientsPage.tsx b/devfront/src/features/clients/ClientsPage.tsx index 2d1fd352..bb0ebbe6 100644 --- a/devfront/src/features/clients/ClientsPage.tsx +++ b/devfront/src/features/clients/ClientsPage.tsx @@ -5,8 +5,6 @@ import { Filter, Plus, Search, - ServerCog, - ShieldHalf, X, } from "lucide-react"; import { useEffect, useState } from "react"; @@ -50,6 +48,7 @@ import { t } from "../../lib/i18n"; import { resolveProfileRole } from "../../lib/role"; import { cn } from "../../lib/utils"; import { fetchMe } from "../auth/authApi"; +import { ClientLogo } from "./components/ClientLogo"; function ClientsPage() { const navigate = useNavigate(); @@ -498,13 +497,7 @@ function ClientsPage() { to={`/clients/${client.id}`} className="flex items-center gap-3 transition-colors hover:text-primary" > -
{client.name ||
diff --git a/devfront/src/features/clients/components/ClientLogo.tsx b/devfront/src/features/clients/components/ClientLogo.tsx
new file mode 100644
index 00000000..0c7b0a56
--- /dev/null
+++ b/devfront/src/features/clients/components/ClientLogo.tsx
@@ -0,0 +1,52 @@
+import { ServerCog, ShieldHalf } from "lucide-react";
+import { useMemo, useState } from "react";
+import { Avatar, AvatarFallback, AvatarImage } from "../../../components/ui/avatar";
+import type { ClientSummary, ClientType } from "../../../lib/devApi";
+import { t } from "../../../lib/i18n";
+
+type ClientLogoProps = {
+ client: Pick