A delightful single-page Next.js site to celebrate National Princess Day with a special surprise message, beautiful animations, and confetti!
# Install dependencies
npm install
# Run development server
npm run dev
Open http://localhost:3000 in your browser.
# Create production build
npm run build
# Start production server
npm start
# Run linter
npm run lint
# Format code
npm run format
# Run tests
npm test
Edit the message content in data/message.ts:
export const messageData = {
title: 'Happy National Princess Day π',
subtitle: 'To my favorite princess β today, and every day.',
body: `Your custom message here...`,
// ...
};
Update CSS variables in styles/globals.css:
:root {
--bg: #fff9ff;
--primary: #ffb6e6;
--accent: #ffd8a8;
--text: #2d2d2d;
}
Add your own images to public/assets/ and update the image paths in the respective components:
components/Hero.tsxcomponents/MessageCard.tsxcomponents/Playlist.tsxcomponents/FlipCards.tsxπ View Live Site π
The site is currently deployed on Netlify and accessible at the URL above.
npm run buildnpm startprincess-day/
βββ components/
β βββ Hero.tsx # Hero section with crown animation
β βββ MessageCard.tsx # Animated message card with envelope
β βββ Playlist.tsx # Music playlist with carousel
β βββ FlipCards.tsx # 3D flip cards with messages
β βββ FinalLetter.tsx # Final love letter page
β βββ SealedLetter.tsx # Sealed letter confirmation page
β βββ TypewriterText.tsx # Typewriter effect component
β βββ Confetti.tsx # Confetti animation
βββ data/
β βββ message.ts # Message content (editable)
βββ lib/
β βββ toast.ts # Toast notifications
βββ pages/
β βββ _app.tsx # App wrapper
β βββ index.tsx # Main page
βββ public/
β βββ assets/
β βββ crown.svg # Crown illustration
β βββ intro-*.webp # Hero section images
β βββ letter-*.webp # Letter decorative images
β βββ music*.png # Music track cover images
β βββ music*.mp3 # Audio files
β βββ pic*.png # Flip card images
βββ styles/
β βββ globals.css # Global styles & CSS variables
βββ package.json
Made with π for National Princess Day