diff --git a/src/components/ui/AILogo.tsx b/src/components/ui/AILogo.tsx new file mode 100644 index 0000000..053f1c4 --- /dev/null +++ b/src/components/ui/AILogo.tsx @@ -0,0 +1,26 @@ +'use client'; + +import { cn } from '@/lib/utils'; + +interface AILogoProps { + size?: number; + className?: string; +} + +export function AILogo({ size = 48, className }: AILogoProps) { + return ( + + + + ); +} diff --git a/src/components/ui/Avatar.tsx b/src/components/ui/Avatar.tsx new file mode 100644 index 0000000..2c972e5 --- /dev/null +++ b/src/components/ui/Avatar.tsx @@ -0,0 +1,31 @@ +'use client'; + +import { cn } from '@/lib/utils'; + +interface AvatarProps { + name: string; + size?: 'sm' | 'md' | 'lg'; + className?: string; +} + +export function Avatar({ name, size = 'md', className }: AvatarProps) { + const initial = name.charAt(0).toUpperCase(); + + const sizeClasses = { + sm: 'w-6 h-6 text-xs', + md: 'w-8 h-8 text-sm', + lg: 'w-10 h-10 text-base', + }; + + return ( +
+ {initial} +
+ ); +} diff --git a/src/components/ui/Toggle.tsx b/src/components/ui/Toggle.tsx new file mode 100644 index 0000000..c9a6c02 --- /dev/null +++ b/src/components/ui/Toggle.tsx @@ -0,0 +1,32 @@ +'use client'; + +import { cn } from '@/lib/utils'; + +interface ToggleProps { + checked: boolean; + onChange: (checked: boolean) => void; + className?: string; +} + +export function Toggle({ checked, onChange, className }: ToggleProps) { + return ( + + ); +}