"use client";
import { AvatarSelect } from "@/components/ui/avatar-select";
export const DEMO_PEOPLE = {
gagandeepKang: "Gagandeep Kang",
janakiAmmal: "Janaki Ammal",
kalpanaChawla: "Kalpana Chawla",
rajReddy: "Raj Reddy",
srinivasaRamanujan: "Srinivasa Ramanujan",
vikramSarabhai: "Vikram Sarabhai",
} as const;
const WHITESPACE_PATTERN = /\s+/;
export const getFirstName = (name: string): string =>
name.trim().split(WHITESPACE_PATTERN)[0] ?? name;
const BLUE_PALETTE = ["#dff4ff", "#38bdf8"] as const;
const PEOPLE = [
{
avatar: { name: getFirstName(DEMO_PEOPLE.rajReddy), palette: BLUE_PALETTE },
description: "Product designer",
id: "raj",
name: DEMO_PEOPLE.rajReddy,
},
{
avatar: {
name: getFirstName(DEMO_PEOPLE.janakiAmmal),
palette: BLUE_PALETTE,
},
description: "Engineering lead",
id: "janaki",
name: DEMO_PEOPLE.janakiAmmal,
},
{
avatar: {
name: getFirstName(DEMO_PEOPLE.vikramSarabhai),
palette: BLUE_PALETTE,
},
description: "Platform engineer",
id: "vikram",
name: DEMO_PEOPLE.vikramSarabhai,
},
] as const;
export function AvatarSelectExample() {
const urlTheme = typeof window === "undefined" ? null : new URLSearchParams(window.location.search).get("theme");
const demoTheme = urlTheme ?? (typeof document !== "undefined" && document.documentElement.classList.contains("dark") ? "dark" : "light");
return (
<AvatarSelect
contentStyle={{ backgroundColor: demoTheme === "dark" ? "#18181b" : "#ffffff", color: demoTheme === "dark" ? "#fafafa" : "#18181b", "--accent": demoTheme === "dark" ? "#27272a" : "#f4f4f5", "--accent-foreground": demoTheme === "dark" ? "#fafafa" : "#18181b" }}
className="max-w-sm"
contentClassName="dark"
defaultValue="raj"
items={PEOPLE}
/>
);
}
export default AvatarSelectExample;