Merge version_2 into main #2

Merged
bender merged 1 commits from version_2 into main 2026-03-05 16:35:20 +00:00

View File

@@ -11,8 +11,29 @@ import TestimonialCardSix from "@/components/sections/testimonial/TestimonialCar
import FaqBase from "@/components/sections/faq/FaqBase";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Sparkles, Zap, Brain, Target, Flame, Award, HelpCircle } from "lucide-react";
import { useState } from "react";
export default function LandingPage() {
const [isGmailModalOpen, setIsGmailModalOpen] = useState(false);
const [userEmail, setUserEmail] = useState("");
const [isVoiceGuideActive, setIsVoiceGuideActive] = useState(false);
const handleGmailLogin = () => {
setIsGmailModalOpen(true);
};
const handleVoiceGuideToggle = () => {
setIsVoiceGuideActive(!isVoiceGuideActive);
if (!isVoiceGuideActive) {
// Trigger voice guide intro
const utterance = new SpeechSynthesisUtterance(
"Welcome to LevelUp. I'm your personal voice guide. I'll help you navigate through your RPG journey and provide real-time guidance as you progress."
);
utterance.rate = 0.9;
window.speechSynthesis.speak(utterance);
}
};
return (
<ThemeProvider
defaultButtonVariant="shift-hover"
@@ -60,6 +81,60 @@ export default function LandingPage() {
/>
</div>
{/* Authentication Modal */}
{isGmailModalOpen && (
<div className="fixed inset-0 bg-black/50 z-50 flex items-center justify-center">
<div className="bg-white rounded-lg p-8 max-w-md w-full mx-4 shadow-xl">
<h2 className="text-2xl font-bold mb-4">Login with Gmail</h2>
<p className="text-gray-600 mb-6">
Sign in to unlock your personal voice guide and sync your progress across devices.
</p>
<input
type="email"
placeholder="Enter your Gmail address"
value={userEmail}
onChange={(e) => setUserEmail(e.target.value)}
className="w-full px-4 py-2 border border-gray-300 rounded-lg mb-4 focus:outline-none focus:ring-2 focus:ring-blue-500"
/>
<button
onClick={() => {
// Simulate Gmail login
if (userEmail) {
setIsGmailModalOpen(false);
setUserEmail("");
alert(`Logged in as ${userEmail}`);
}
}}
className="w-full bg-blue-600 text-white py-2 rounded-lg font-semibold hover:bg-blue-700 mb-3"
>
Sign In
</button>
<button
onClick={() => setIsGmailModalOpen(false)}
className="w-full bg-gray-200 text-gray-800 py-2 rounded-lg font-semibold hover:bg-gray-300"
>
Cancel
</button>
</div>
</div>
)}
{/* Voice Guide Control */}
<div className="fixed bottom-6 right-6 z-40">
<button
onClick={handleVoiceGuideToggle}
className={`p-4 rounded-full shadow-lg font-semibold transition-all ${
isVoiceGuideActive
? "bg-green-600 text-white hover:bg-green-700"
: "bg-gray-800 text-white hover:bg-gray-900"
}`}
aria-label="Toggle voice guide"
title={isVoiceGuideActive ? "Voice Guide ON" : "Voice Guide OFF"}
>
🎙
</button>
</div>
<div id="features" data-section="features">
<FeatureCardTwentyThree
title="Core Features"
@@ -104,16 +179,13 @@ export default function LandingPage() {
"E-Rank: Foundation Builder", "D-Rank: Emerging Warrior", "C-Rank: Skilled Practitioner", "B-Rank: Advanced Master", "A-Rank: Elite Performer", "S-Rank: Legendary Status", "SS-Rank: Mythical Power", "SSS-Rank: Ascended Being"],
},
{
id: "2", value: "∞", title: "Infinite Growth Potential", items: [
"No hard level cap", "Continuous XP gain", "Compound stat growth", "Legacy progression"],
id: "2", value: "∞", title: "Infinite Growth Potential", items: ["No hard level cap", "Continuous XP gain", "Compound stat growth", "Legacy progression"],
},
{
id: "3", value: "3x", title: "Streak Multipliers", items: [
"7-day streak: 1.5x XP", "14-day streak: 2x XP", "30-day streak: 3x XP bonus", "Consistency rewards"],
id: "3", value: "3x", title: "Streak Multipliers", items: ["7-day streak: 1.5x XP", "14-day streak: 2x XP", "30-day streak: 3x XP bonus", "Consistency rewards"],
},
{
id: "4", value: "10+", title: "Quest Types", items: [
"Daily micro-quests", "Weekly challenges", "Boss missions", "Seasonal events"],
id: "4", value: "10+", title: "Quest Types", items: ["Daily micro-quests", "Weekly challenges", "Boss missions", "Seasonal events"],
},
]}
/>
@@ -161,28 +233,19 @@ export default function LandingPage() {
plans={[
{
id: "micro", badge: "Daily Micro-Quest", badgeIcon: Zap,
price: "50-100 XP", subtitle: "15-30 minute challenges", buttons: [
{ text: "Start Quest" },
{ text: "Skip for Now" },
],
price: "50-100 XP", subtitle: "15-30 minute challenges", buttons: [{ text: "Start Quest" }, { text: "Skip for Now" }],
features: [
"Tailored to your stats", "Difficulty scaling", "Bonus multipliers available", "Real-time progress tracking", "Instant reward gratification"],
},
{
id: "weekly", badge: "Weekly Challenge", badgeIcon: Target,
price: "500-1000 XP", subtitle: "7-day commitment challenges", buttons: [
{ text: "Start Challenge" },
{ text: "View Details" },
],
price: "500-1000 XP", subtitle: "7-day commitment challenges", buttons: [{ text: "Start Challenge" }, { text: "View Details" }],
features: [
"Major habit formation", "Streak multipliers", "Ranked difficulty levels", "Milestone checkpoints", "Community leaderboards"],
},
{
id: "boss", badge: "Boss Mission", badgeIcon: Flame,
price: "2000-5000 XP", subtitle: "30+ day epic challenges", buttons: [
{ text: "Accept Mission" },
{ text: "Learn More" },
],
price: "2000-5000 XP", subtitle: "30+ day epic challenges", buttons: [{ text: "Accept Mission" }, { text: "Learn More" }],
features: [
"Life-changing goals", "Rank progression unlocks", "Exclusive rewards", "AI mentor guidance", "Permanent stat boosts"],
},