From fd9e9fbb9dce8b02646852add46d07e519238abf Mon Sep 17 00:00:00 2001 From: soryu Date: Fri, 5 Dec 2025 03:17:14 +0000 Subject: Add Makima modal --- frontend/public/logo/makima-logo.svg | 7 ++++ frontend/src/components/LandingPage.tsx | 58 ++++++++++++++++++++++++--------- frontend/src/styles/mobile.css | 4 +++ frontend/src/styles/pc98.css | 44 +++++++++++++++++++++++++ 4 files changed, 98 insertions(+), 15 deletions(-) create mode 100644 frontend/public/logo/makima-logo.svg (limited to 'frontend') diff --git a/frontend/public/logo/makima-logo.svg b/frontend/public/logo/makima-logo.svg new file mode 100644 index 0000000..4872d43 --- /dev/null +++ b/frontend/public/logo/makima-logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/frontend/src/components/LandingPage.tsx b/frontend/src/components/LandingPage.tsx index ea8dfbc..f22c1bd 100644 --- a/frontend/src/components/LandingPage.tsx +++ b/frontend/src/components/LandingPage.tsx @@ -13,8 +13,8 @@ export function LandingPage({ onLogin }: LandingPageProps) { const [velocity, setVelocity] = useState(0) const [energy, setEnergy] = useState(0) const [ramped, setRamped] = useState(false) - const [pendingAction, setPendingAction] = useState(null) - const [missionMode, setMissionMode] = useState(false) + const [pendingAction, setPendingAction] = useState(null) + const [activePanel, setActivePanel] = useState(null) // Fade-in landing page content after mount useEffect(() => { @@ -79,21 +79,24 @@ export function LandingPage({ onLogin }: LandingPageProps) { }, []) const handleLoadingComplete = () => { - if (pendingAction === 'makima') { + if (pendingAction === 'makimaRedirect') { window.location.assign('https://makima.jp') return } onLogin() } - const handleMakima = () => { - setPendingAction('makima') + const handleLogin = () => { + setPendingAction('makimaRedirect') setLoading(true) } const handleMission = () => { - // Toggle screen transformation instead of modal/drawer - setMissionMode((m) => !m) + setActivePanel((mode) => (mode === 'mission' ? null : 'mission')) + } + + const handleMakimaPanel = () => { + setActivePanel((mode) => (mode === 'makima' ? null : 'makima')) } return ( @@ -148,7 +151,7 @@ export function LandingPage({ onLogin }: LandingPageProps) { {/* Minimal overlay: masthead, issue badge, and CTA */} -
+