Merge version_2 into main #2
@@ -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"],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user