Merge version_3 into main #4
@@ -11,8 +11,8 @@ import { Public_Sans } from "next/font/google";
|
||||
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Jully, Will You Marry Me?',
|
||||
description: 'A heartfelt marriage proposal website for Jully, filled with love, memories, and a big question.',
|
||||
title: 'Bisma, Will You Marry Me?',
|
||||
description: 'A heartfelt marriage proposal website for Bisma, filled with love, memories, and a big question.',
|
||||
openGraph: {
|
||||
"title": "Jully, Will You Marry Me?",
|
||||
"description": "A heartfelt marriage proposal website for Jully, filled with love, memories, and a big question.",
|
||||
|
||||
@@ -39,15 +39,14 @@ const generateConfettiTransform = () => {
|
||||
};
|
||||
|
||||
const noMessages = [
|
||||
"Please kar lo na 🥺", "Main tum se bohat pyar karta hoon ❤️", "Ab to yes kar do na 🥹", "Please Jully, maan jao na ❤️", "Mere liye yes kar do 💕", "Last time bol raha hoon, yes kar do ❤️"
|
||||
"Please kar lo na 🥺", "Main tum se bohat pyar karta hoon ❤️", "Ab to yes kar do na 🥹", "Please Bisma, maan jao na ❤️", "Mere liye yes kar do 💕", "Last time bol raha hoon, yes kar do ❤️"
|
||||
];
|
||||
|
||||
export default function LandingPage() {
|
||||
const [noClickCount, setNoClickCount] = useState(0);
|
||||
const [showCelebration, setShowCelebration] = useState(false);
|
||||
const [proposalTitle, setProposalTitle] = useState("Jully, will you marry me?");
|
||||
const [proposalDescription, setProposalDescription] = useState("My dearest Jully, every moment with you is a treasure. You are my greatest joy, my best friend, and the love of my life. Will you make me the happiest person and say yes to forever?");
|
||||
const [showNoButton, setShowNoButton] = useState(true);
|
||||
const [proposalTitle, setProposalTitle] = useState("Bisma, will you marry me?");
|
||||
const [proposalDescription, setProposalDescription] = useState("My dearest Bisma, every moment with you is a treasure. You are my greatest joy, my best friend, and the love of my life. Will you make me the happiest person and say yes to forever?");
|
||||
|
||||
const confettiPieces = useMemo(() => {
|
||||
if (!showCelebration) return [];
|
||||
@@ -79,21 +78,21 @@ export default function LandingPage() {
|
||||
}, [showCelebration]);
|
||||
|
||||
const handleYes = () => {
|
||||
setProposalTitle("I love you Jully ❤️");
|
||||
setProposalTitle("I love you Bisma ❤️");
|
||||
setProposalDescription(""); // Clear description on Yes
|
||||
setShowCelebration(true);
|
||||
setShowNoButton(false);
|
||||
};
|
||||
|
||||
const handleNo = () => {
|
||||
if (noClickCount < noMessages.length - 1) {
|
||||
setNoClickCount(prev => prev + 1);
|
||||
setProposalDescription(noMessages[noClickCount]);
|
||||
} else {
|
||||
// After 6 'No' clicks, remove 'No' button and prompt for 'Yes'
|
||||
setShowNoButton(false);
|
||||
setProposalDescription("Seriously, Jully? Just say yes! ❤️");
|
||||
}
|
||||
setNoClickCount(prev => {
|
||||
const nextCount = prev + 1;
|
||||
if (nextCount < noMessages.length) {
|
||||
setProposalDescription(noMessages[nextCount]);
|
||||
} else {
|
||||
setProposalDescription("Seriously, Bisma? Just say yes! ❤️"); // Final plea
|
||||
}
|
||||
return nextCount;
|
||||
});
|
||||
};
|
||||
|
||||
const getHeroButtons = () => {
|
||||
@@ -102,8 +101,11 @@ export default function LandingPage() {
|
||||
}
|
||||
const buttons = [];
|
||||
buttons.push({ text: "Yes", onClick: handleYes });
|
||||
if (showNoButton) {
|
||||
if (noClickCount < noMessages.length) {
|
||||
buttons.push({ text: "No", onClick: handleNo });
|
||||
} else {
|
||||
// After 6 'No' clicks, show two 'Yes' buttons
|
||||
buttons.push({ text: "Yes", onClick: handleYes });
|
||||
}
|
||||
return buttons;
|
||||
};
|
||||
@@ -123,7 +125,7 @@ export default function LandingPage() {
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple navItems={[]} brandName="For Jully" />
|
||||
<NavbarStyleApple navItems={[]} brandName="For Bisma" />
|
||||
</div>
|
||||
|
||||
<div id="proposal" data-section="proposal">
|
||||
@@ -135,13 +137,13 @@ export default function LandingPage() {
|
||||
title={proposalTitle}
|
||||
description={proposalDescription}
|
||||
buttons={getHeroButtons()}
|
||||
imageSrc={showCelebration ? "https://images.unsplash.com/photo-1621607502394-a204e5d6d3d7?q=80&w=1887&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" : "http://img.b2bpic.net/free-photo/christmas-celebration-concept_23-2150976990.jpg"}
|
||||
imageAlt={showCelebration ? "USA-style engagement ring" : "Cute romantic couple illustration for proposal"}
|
||||
imageSrc={showCelebration ? "https://images.unsplash.com/photo-1621607502394-a204e5d6d3d7?q=80&w=1887&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" : "https://images.unsplash.com/photo-1540026226198-4a413d9a3b2a?q=80&w=1780&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"}
|
||||
imageAlt={showCelebration ? "USA-style engagement ring" : "Romantic abstract background"}
|
||||
mediaAnimation="slide-up"
|
||||
fixedMediaHeight={true}
|
||||
avatars={[
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/medium-shot-anime-couple-hugging_23-2150970674.jpg", alt: "Jully's profile picture"
|
||||
src: "http://img.b2bpic.net/free-photo/medium-shot-anime-couple-hugging_23-2150970674.jpg", alt: "Bisma's profile picture"
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/medium-shot-anime-couple-hugging_23-2150970715.jpg", alt: "My profile picture"
|
||||
@@ -254,4 +256,4 @@ export default function LandingPage() {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user