Merge version_2 into main #3

Merged
bender merged 1 commits from version_2 into main 2026-04-06 04:14:50 +00:00

View File

@@ -17,7 +17,13 @@ export default function LandingPage() {
useEffect(() => {
const saved = localStorage.getItem('alarmEnabled');
if (saved) setAlarmEnabled(JSON.parse(saved));
if (saved) {
try {
setAlarmEnabled(JSON.parse(saved));
} catch (e) {
console.error("Failed to parse alarm state", e);
}
}
audioRef.current = new Audio('/alarm-sound.mp3');
}, []);
@@ -44,101 +50,102 @@ export default function LandingPage() {
headingFontWeight="semibold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "hero" },
{ name: "Features", id: "features" },
{ name: "FAQ", id: "faq" },
]}
brandName="StudyReminder"
button={{
text: alarmEnabled ? "Alarm ON" : "Enable Alarm", onClick: toggleAlarm
}}
/>
</div>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "hero" },
{ name: "Features", id: "features" },
{ name: "FAQ", id: "faq" },
]}
brandName="StudyReminder"
button={{
text: alarmEnabled ? "Alarm ON" : "Enable Alarm",
onClick: toggleAlarm
}}
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboard
background={{ variant: "sparkles-gradient" }}
title="Master Your Study Schedule"
description="Never miss a study session again. Smart, automated reminders to keep you on track, focused, and ready for every exam."
buttons={[
{ text: "Get Started", href: "#" },
]}
imageSrc="http://img.b2bpic.net/free-photo/high-angle-bullet-journal-keyboard_23-2149740042.jpg"
imageAlt="Digital Study Dashboard"
mediaAnimation="blur-reveal"
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboard
background={{ variant: "sparkles-gradient" }}
title="Master Your Study Schedule"
description="Never miss a study session again. Smart, automated reminders to keep you on track, focused, and ready for every exam."
buttons={[
{ text: "Get Started", href: "#" },
]}
imageSrc="http://img.b2bpic.net/free-photo/high-angle-bullet-journal-keyboard_23-2149740042.jpg"
imageAlt="Digital Study Dashboard"
mediaAnimation="blur-reveal"
/>
</div>
<div id="features" data-section="features">
<FeatureCardSeven
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={true}
features={[
{ title: "Timely Notifications", description: "Get pinged exactly when you need to start, ensuring no session goes forgotten.", imageSrc: "http://img.b2bpic.net/free-photo/schedule-time-management-planner-concept_53876-120482.jpg", imageAlt: "Reminder Bell" },
{ title: "Workspace Focus", description: "Tools that help you maintain a dedicated study environment and keep distractions at bay.", imageSrc: "http://img.b2bpic.net/free-photo/young-man-learning-virtual-classroom_23-2149200215.jpg", imageAlt: "Focused Student" },
{ title: "Smart Scheduling", description: "AI-optimized schedules that adapt to your pace and academic requirements.", imageSrc: "http://img.b2bpic.net/free-photo/light-equipment-grey-technology-serious_1134-1423.jpg", imageAlt: "Schedule Data" },
]}
title="Stay Productive, Stay Ahead"
description="Powerful tools designed specifically for students to manage their time and workload effectively."
/>
</div>
<div id="features" data-section="features">
<FeatureCardSeven
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={true}
features={[
{ title: "Timely Notifications", description: "Get pinged exactly when you need to start, ensuring no session goes forgotten.", imageSrc: "http://img.b2bpic.net/free-photo/schedule-time-management-planner-concept_53876-120482.jpg", imageAlt: "Reminder Bell" },
{ title: "Workspace Focus", description: "Tools that help you maintain a dedicated study environment and keep distractions at bay.", imageSrc: "http://img.b2bpic.net/free-photo/young-man-learning-virtual-classroom_23-2149200215.jpg", imageAlt: "Focused Student" },
{ title: "Smart Scheduling", description: "AI-optimized schedules that adapt to your pace and academic requirements.", imageSrc: "http://img.b2bpic.net/free-photo/light-equipment-grey-technology-serious_1134-1423.jpg", imageAlt: "Schedule Data" },
]}
title="Stay Productive, Stay Ahead"
description="Powerful tools designed specifically for students to manage their time and workload effectively."
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitMedia
textboxLayout="default"
useInvertedBackground={false}
faqs={[
{ id: "f1", title: "How do I set a reminder?", content: "Simply input your subject name and the date/time you plan to study in the add-reminder form." },
{ id: "f2", title: "Can I delete a reminder?", content: "Yes, just tap the 'X' button next to the reminder in your list to remove it." },
{ id: "f3", title: "Do I need an account?", content: "No, your reminders are stored locally in your browser so you can start right away." },
]}
imageSrc="http://img.b2bpic.net/free-photo/support-community-aid-help-team-assistance-concept_53876-123806.jpg"
mediaAnimation="slide-up"
mediaPosition="right"
title="Common Questions"
description="Everything you need to know about using our study reminder platform effectively."
faqsAnimation="blur-reveal"
imageAlt="FAQ Help Support"
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitMedia
textboxLayout="default"
useInvertedBackground={false}
faqs={[
{ id: "f1", title: "How do I set a reminder?", content: "Simply input your subject name and the date/time you plan to study in the add-reminder form." },
{ id: "f2", title: "Can I delete a reminder?", content: "Yes, just tap the 'X' button next to the reminder in your list to remove it." },
{ id: "f3", title: "Do I need an account?", content: "No, your reminders are stored locally in your browser so you can start right away." },
]}
imageSrc="http://img.b2bpic.net/free-photo/support-community-aid-help-team-assistance-concept_53876-123806.jpg"
mediaAnimation="slide-up"
mediaPosition="right"
title="Common Questions"
description="Everything you need to know about using our study reminder platform effectively."
faqsAnimation="blur-reveal"
imageAlt="FAQ Help Support"
/>
</div>
<div id="metric" data-section="metric">
<MetricCardFourteen
useInvertedBackground={false}
title="Proven Results"
tag="Our Impact"
metrics={[
{ id: "m1", value: "10k+", description: "Happy Students" },
{ id: "m2", value: "50k+", description: "Sessions Scheduled" },
{ id: "m3", value: "95%", description: "Goal Achievement" },
{ id: "m4", value: "24/7", description: "Always Available" },
]}
metricsAnimation="slide-up"
/>
</div>
<div id="metric" data-section="metric">
<MetricCardFourteen
useInvertedBackground={false}
title="Proven Results"
tag="Our Impact"
metrics={[
{ id: "m1", value: "10k+", description: "Happy Students" },
{ id: "m2", value: "50k+", description: "Sessions Scheduled" },
{ id: "m3", value: "95%", description: "Goal Achievement" },
{ id: "m4", value: "24/7", description: "Always Available" },
]}
metricsAnimation="slide-up"
/>
</div>
<div id="contact" data-section="contact">
<ContactText
useInvertedBackground={true}
background={{ variant: "sparkles-gradient" }}
text="Ready to excel in your studies? Start organizing your schedule now."
buttons={[
{ text: "Start Organizing", href: "#" },
]}
/>
</div>
<div id="contact" data-section="contact">
<ContactText
useInvertedBackground={true}
background={{ variant: "sparkles-gradient" }}
text="Ready to excel in your studies? Start organizing your schedule now."
buttons={[
{ text: "Start Organizing", href: "#" },
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="StudyReminder"
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "Contact Support", href: "#" }}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="StudyReminder"
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "Contact Support", href: "#" }}
/>
</div>
</ReactLenis>
</ThemeProvider>
);