"use client"
import Link from "next/link"
import { Button } from "@/components/ui/button"
import { Card, CardContent } from "@/components/ui/card"
import { Music, Users, Calendar, Star } from "lucide-react"
interface EmptyStateProps {
type: "shows" | "songs" | "attendance" | "feed" | "reviews" | "generic"
bandName?: string
}
const EMPTY_STATES = {
shows: {
icon: Calendar,
title: "No Shows Yet",
description: "Be the first to explore shows for this band!",
action: { label: "Browse All Bands", href: "/" }
},
songs: {
icon: Music,
title: "No Songs Found",
description: "Song data is still being imported.",
action: { label: "Check Back Soon", href: "/" }
},
attendance: {
icon: Users,
title: "No Shows Tracked",
description: "Start tracking your concert attendance!",
action: { label: "Find Shows", href: "/shows" }
},
feed: {
icon: Star,
title: "Your Feed is Empty",
description: "Follow some bands to see activity here.",
action: { label: "Pick Your Bands", href: "/onboarding" }
},
reviews: {
icon: Star,
title: "No Reviews Yet",
description: "Be the first to share your thoughts!",
action: null
},
generic: {
icon: Music,
title: "Nothing Here Yet",
description: "Check back soon for updates.",
action: { label: "Go Home", href: "/" }
}
}
export function EmptyState({ type, bandName }: EmptyStateProps) {
const config = EMPTY_STATES[type] || EMPTY_STATES.generic
const Icon = config.icon
return (
{config.description}
{bandName ? `${config.title} for ${bandName}` : config.title}
{message}