8 Commits

Author SHA1 Message Date
477ec25a3f Merge version_4 into main
Merge version_4 into main
2026-06-07 22:49:11 +00:00
b83f0ce748 Update src/app/page.tsx 2026-06-07 22:49:05 +00:00
78720d42e0 Merge version_3 into main
Merge version_3 into main
2026-06-07 22:46:28 +00:00
1a76e86136 Update src/app/page.tsx 2026-06-07 22:46:22 +00:00
6024840347 Update src/app/layout.tsx 2026-06-07 22:46:21 +00:00
23fd32f236 Merge version_2 into main
Merge version_2 into main
2026-06-07 22:38:04 +00:00
e25300de7e Merge version_2 into main
Merge version_2 into main
2026-06-07 22:36:52 +00:00
01dc44c234 Merge version_2 into main
Merge version_2 into main
2026-06-07 22:35:48 +00:00
2 changed files with 24 additions and 21 deletions

View File

@@ -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.",

View File

@@ -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,12 @@ 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 });
buttons.push({ text: "Yes", onClick: handleYes }); // Add a second 'Yes' button
}
return buttons;
};
@@ -123,7 +126,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 +138,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"