"use client" import Link from "next/link" import { Button } from "@/components/ui/button" import { Home, Search, Shuffle, ArrowLeft, Music, Bird } from "lucide-react" import { useState, useEffect } from "react" const GOOSE_QUOTES = [ "Looks like this page flew the coop!", "Honk if you're lost too!", "This page has migrated to parts unknown.", "The jam you seek is not in this location.", "404: Page not found. But hey, at least the vibes are good.", "This URL took a wrong turn at Tumble.", "Flodown? More like FlowGONE.", "Seems this page is still in the Dripfield.", "The set break got a little too long...", "Whoops! Someone put this page in the wrong set.", ] const SONG_SUGGESTIONS = [ { title: "Tumble", slug: "tumble" }, { title: "Arcadia", slug: "arcadia" }, { title: "Hungersite", slug: "hungersite" }, { title: "Atlas Dogs", slug: "atlas-dogs" }, { title: "Rockdale", slug: "rockdale" }, ] export default function NotFound() { const [quote, setQuote] = useState(GOOSE_QUOTES[0]) const [suggestion, setSuggestion] = useState(SONG_SUGGESTIONS[0]) const [isSpinning, setIsSpinning] = useState(false) useEffect(() => { // Random quote on mount setQuote(GOOSE_QUOTES[Math.floor(Math.random() * GOOSE_QUOTES.length)]) setSuggestion(SONG_SUGGESTIONS[Math.floor(Math.random() * SONG_SUGGESTIONS.length)]) }, []) const shuffleQuote = () => { setIsSpinning(true) setTimeout(() => { setQuote(GOOSE_QUOTES[Math.floor(Math.random() * GOOSE_QUOTES.length)]) setSuggestion(SONG_SUGGESTIONS[Math.floor(Math.random() * SONG_SUGGESTIONS.length)]) setIsSpinning(false) }, 300) } return (
{/* Animated Bird Icon */}
{/* 404 Header */}
404
{/* Playful Quote */}

{quote}

Click the bird for a new message

{/* Action Buttons */}
{/* Song Suggestion Card */}

While you're here, maybe check out:

{suggestion.title}

Random song suggestion

{/* Back Link */}
) }