nicholai 074c79f302 feat: redesign terminal UI with theme support and retro aesthetic
- Add terminal-chat-interface component with dual-panel layout
- Implement light/dark mode with next-themes
- Reorganize shadcn components to shadcn-io subdirectory
- Add custom retro icons (security, terminal, bot, etc.)
- Update color scheme with oklch values for both themes
- Add theme toggle and Gitea repository link
- Include corner bracket accents and grid/scan line effects
- Fix hydration mismatch for session time display
2025-10-09 04:00:19 -06:00

54 lines
1.1 KiB
TypeScript

"use client"
import * as React from "react"
import * as AvatarPrimitive from "@radix-ui/react-avatar"
import { cn } from "@/lib/utils"
function Avatar({
className,
...props
}: React.ComponentProps<typeof AvatarPrimitive.Root>) {
return (
<AvatarPrimitive.Root
data-slot="avatar"
className={cn(
"relative flex size-8 shrink-0 overflow-hidden rounded-full",
className
)}
{...props}
/>
)
}
function AvatarImage({
className,
...props
}: React.ComponentProps<typeof AvatarPrimitive.Image>) {
return (
<AvatarPrimitive.Image
data-slot="avatar-image"
className={cn("aspect-square size-full", className)}
{...props}
/>
)
}
function AvatarFallback({
className,
...props
}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {
return (
<AvatarPrimitive.Fallback
data-slot="avatar-fallback"
className={cn(
"bg-muted flex size-full items-center justify-center rounded-full",
className
)}
{...props}
/>
)
}
export { Avatar, AvatarImage, AvatarFallback }