Untitled

 avatar
unknown
plain_text
a year ago
4.4 kB
11
Indexable
import { useState } from "react"; import { motion } from "framer-motion"; import { Card, CardContent } from "@/components/ui/card"; import { Button } from "@/components/ui/button";

export default function BirthdayWebsite() { const [page, setPage] = useState("home");

const renderPage = () => { switch (page) { case "home": return ( <div className="flex flex-col items-center justify-center min-h-[80vh] text-center p-6"> <motion.h1 initial={{ scale: 0.8, opacity: 0 }} animate={{ scale: 1, opacity: 1 }} transition={{ duration: 1 }} className="text-5xl font-bold text-pink-500 drop-shadow-lg" > 🎉 Happy Birthday Dear Friend 🎂 </motion.h1>

<motion.img
          src="/birthday-photo-placeholder.jpg"
          alt="Birthday Person"
          className="rounded-2xl shadow-lg mt-6 w-64 h-64 object-cover"
          initial={{ y: 50, opacity: 0 }}
          animate={{ y: 0, opacity: 1 }}
          transition={{ duration: 1, delay: 0.5 }}
        />

        <p className="mt-6 text-lg text-gray-700 max-w-xl">
          Wishing you a day filled with love, laughter, and unforgettable memories! 💖
        </p>
      </div>
    );

  case "features":
    return (
      <div className="grid grid-cols-1 md:grid-cols-3 gap-6 p-6">
        <Card className="rounded-2xl shadow-xl hover:scale-105 transition">
          <CardContent className="p-6 text-center">
            <h2 className="text-2xl font-bold text-pink-600">💌 Happy Note</h2>
            <p className="mt-2 text-gray-600">Sweet messages to brighten your special day.</p>
          </CardContent>
        </Card>

        <Card className="rounded-2xl shadow-xl hover:scale-105 transition">
          <CardContent className="p-6 text-center">
            <h2 className="text-2xl font-bold text-purple-600">🎶 Melodious Note</h2>
            <p className="mt-2 text-gray-600">Music and melodies made just for you.</p>
          </CardContent>
        </Card>

        <Card className="rounded-2xl shadow-xl hover:scale-105 transition">
          <CardContent className="p-6 text-center">
            <h2 className="text-2xl font-bold text-blue-600">✍️ Blog</h2>
            <p className="mt-2 text-gray-600">Stories, memories, and heartfelt words.</p>
          </CardContent>
        </Card>
      </div>
    );

  case "login":
    return (
      <div className="flex justify-center items-center min-h-[70vh] p-6">
        <Card className="p-6 w-full max-w-sm shadow-lg rounded-2xl">
          <h2 className="text-2xl font-bold mb-4 text-center">Login</h2>
          <input
            type="email"
            placeholder="Email"
            className="w-full p-2 mb-3 border rounded-lg"
          />
          <input
            type="password"
            placeholder="Password"
            className="w-full p-2 mb-3 border rounded-lg"
          />
          <Button className="w-full">Login</Button>
        </Card>
      </div>
    );

  case "signup":
    return (
      <div className="flex justify-center items-center min-h-[70vh] p-6">
        <Card className="p-6 w-full max-w-sm shadow-lg rounded-2xl">
          <h2 className="text-2xl font-bold mb-4 text-center">Sign Up</h2>
          <input
            type="text"
            placeholder="Name"
            className="w-full p-2 mb-3 border rounded-lg"
          />
          <input
            type="email"
            placeholder="Email"
            className="w-full p-2 mb-3 border rounded-lg"
          />
          <input
            type="password"
            placeholder="Password"
            className="w-full p-2 mb-3 border rounded-lg"
          />
          <Button className="w-full">Sign Up</Button>
        </Card>
      </div>
    );

  default:
    return null;
}

};

return ( <div className="min-h-screen bg-gradient-to-br from-pink-100 via-purple-100 to-blue-100"> {/* Navbar */} <nav className="flex justify-between items-center p-4 bg-white shadow-md sticky top-0 z-50"> <h1 className="text-2xl font-bold text-pink-600">🎂 Birthday Special</h1> <div className="space-x-4"> <Button variant="ghost" onClick={() => setPage("home")}>Home</Button> <Button variant="ghost" onClick={() => setPage("features")}>Features</Button> <Button variant="ghost" onClick={() => setPage("login")}>Login</Button> <Button variant="ghost" onClick={() => setPage("signup")}>Signup</Button> </div> </nav>

{/* Page Content */}
  <div>{renderPage()}</div>
</div>

); }

Editor is loading...
Leave a Comment