import { User } from "revolt-api"; import { Card, CardDescription, CardHeader, CardTitle } from "../ui/card"; import { Avatar, AvatarFallback, AvatarImage } from "../ui/avatar"; import { Badge } from "../ui/badge"; import { AUTUMN_URL } from "@/lib/constants"; import Link from "next/link"; import { ExternalLinkIcon } from "lucide-react"; export function UserCard({ user, subtitle, withLink }: { user: User; subtitle: string, withLink?: boolean }) { const gradientColour = user.flags == 1 ? 'rgba(251, 146, 60, 0.6)' : user.flags == 4 ? 'rgba(239, 68, 68, 0.6)' : 'transparent'; const gradient = `linear-gradient(to right, white, rgba(255,0,0,0)), repeating-linear-gradient(225deg, transparent, transparent 32px, ${gradientColour} 32px, ${gradientColour} 64px)`; return ( {(user.display_name ?? user.username) .split(" ") .slice(0, 2) .map((x) => String.fromCodePoint(x.codePointAt(0) ?? 32) ?? "") .join("")} {user.bot && Bot}{" "} {user.flags == 1 && Suspended}{" "} {user.flags == 4 && Banned}{" "}
{user.username}#{user.discriminator} {user.display_name} { withLink ? : <> }
{subtitle}
); }