"use client" import { PublicProfileRead } from "@/lib/types" // We'll need to define this or import generic import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { Card } from "@/components/ui/card" import { Separator } from "@/components/ui/separator" import { MapPin, CalendarDays, Ticket, Music2, Share2 } from "lucide-react" import Link from "next/link" // Temporary type definition until we sync shared types interface HeadlinerBand { name: string slug: string tier: string logo_url?: string | null } interface SocialHandles { bluesky?: string | null mastodon?: string | null instagram?: string | null } interface ProfilePosterProps { profile: any // Typing loosely first to get the visual structure up } export function ProfilePoster({ profile }: ProfilePosterProps) { const { username, display_name, bio, avatar, avatar_bg_color, location, social_handles, headliners, supporting_acts, stats, joined_at } = profile // Poster Date (Joined At) const memberSince = new Date(joined_at).toLocaleDateString('en-US', { month: 'long', year: 'numeric' }) return (
Presents
{bio || "This fan hasn't written a bio yet. They're probably at a show."}