diff --git a/frontend/src/components/admin/UserManagement.tsx b/frontend/src/components/admin/UserManagement.tsx index dbb4df6..a2690e9 100644 --- a/frontend/src/components/admin/UserManagement.tsx +++ b/frontend/src/components/admin/UserManagement.tsx @@ -105,11 +105,7 @@ export function UserManagement() { {u.is_active ? 'Active' : 'Inactive'} @@ -129,7 +125,7 @@ export function UserManagement() { -

{selectedGroup.label}

+

{selectedGroup.label}

@@ -137,7 +138,7 @@ export function RatedView() { {groups.map((group, i) => (
)} - + {group.count} - +
-

{group.label}

+

{group.label}

))} diff --git a/frontend/src/components/sidebar/PhotoInfoPanel.tsx b/frontend/src/components/sidebar/PhotoInfoPanel.tsx index 9afae96..57d4307 100644 --- a/frontend/src/components/sidebar/PhotoInfoPanel.tsx +++ b/frontend/src/components/sidebar/PhotoInfoPanel.tsx @@ -10,7 +10,7 @@ import { ShoppingBasket, Trash2, } from 'lucide-react' -import clsx from 'clsx' +import { cn } from '@/lib/utils' import { useQuery, useMutation, @@ -367,13 +367,13 @@ export function PhotoInfoPanel({ photoId, darkTheme = false }: PhotoInfoPanelPro // Single themable input class so the same component reads against either // the surface (grid sidebar) or a darker preview overlay. - const inputClass = clsx( + const inputClass = cn( 'w-full rounded border px-2 py-1 text-sm focus:outline-none', darkTheme ? 'border-white/15 bg-black/40 text-white placeholder-white/40 focus:border-primary' : 'border-border bg-bg text-text placeholder-text-faint focus:border-primary' ) - const monoInputClass = clsx( + const monoInputClass = cn( 'w-full rounded border px-2 py-1 font-mono text-xs focus:outline-none', darkTheme ? 'border-white/15 bg-black/40 text-white placeholder-white/40 focus:border-primary' @@ -382,7 +382,7 @@ export function PhotoInfoPanel({ photoId, darkTheme = false }: PhotoInfoPanelPro return (
@@ -454,7 +454,7 @@ export function PhotoInfoPanel({ photoId, darkTheme = false }: PhotoInfoPanelPro title={`Set rating to ${value}`} > updateMutation.mutate({ color_label: active ? null : value }) } - className={clsx( + className={cn( 'h-5 w-5 rounded-full ring-offset-2 ring-offset-surface transition-all', className, active ? 'ring-2 ring-primary' : 'opacity-60 hover:opacity-100' @@ -509,7 +509,7 @@ export function PhotoInfoPanel({ photoId, darkTheme = false }: PhotoInfoPanelPro heapMutation.mutate({ remove: isInActiveHeap }) }} disabled={!activeHeap || heapMutation.isPending} - className={clsx( + className={cn( 'flex items-center gap-1 rounded px-2 py-1 text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-50', isInActiveHeap ? 'bg-pick/20 text-pick' @@ -528,7 +528,7 @@ export function PhotoInfoPanel({ photoId, darkTheme = false }: PhotoInfoPanelPro