From 1a995e32c8468d35e88b4e9618458f0cb29ae3c5 Mon Sep 17 00:00:00 2001 From: soryu Date: Wed, 3 Jun 2026 19:45:41 +0100 Subject: feat: soryu - soryu.co: Remove Login button from LandingPage --- frontend/package-lock.json | 8 --- frontend/src/App.tsx | 4 +- frontend/src/components/LandingPage.tsx | 104 ++++++++++++-------------------- 3 files changed, 39 insertions(+), 77 deletions(-) (limited to 'frontend') diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 230ed07..2114b2c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -66,7 +66,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dev": true, - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -1060,7 +1059,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.1.tgz", "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==", "dev": true, - "peer": true, "dependencies": { "undici-types": "~7.10.0" } @@ -1076,7 +1074,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.24.tgz", "integrity": "sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==", "dev": true, - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -1159,7 +1156,6 @@ "url": "https://github.com/sponsors/ai" } ], - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001737", "electron-to-chromium": "^1.5.211", @@ -1391,7 +1387,6 @@ "url": "https://github.com/sponsors/ai" } ], - "peer": true, "engines": { "node": "^20.0.0 || >=22.0.0" } @@ -1440,7 +1435,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -1452,7 +1446,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -1626,7 +1619,6 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", "dev": true, - "peer": true, "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 0a0e008..9a84b3b 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -2,7 +2,7 @@ import React from 'react' import { useStore } from '@nanostores/react' import { LandingPage } from './components/LandingPage' import { VNInterface } from './components/VNInterface' -import { isLoggedInStore, login, logout } from './stores' +import { isLoggedInStore, logout } from './stores' export default function App() { const isLoggedIn = useStore(isLoggedInStore) @@ -12,7 +12,7 @@ export default function App() { {isLoggedIn ? ( ) : ( - + )} ) diff --git a/frontend/src/components/LandingPage.tsx b/frontend/src/components/LandingPage.tsx index 2c543a6..3141556 100644 --- a/frontend/src/components/LandingPage.tsx +++ b/frontend/src/components/LandingPage.tsx @@ -1,5 +1,4 @@ import React, { useState, useEffect, useRef } from 'react' -import { LoadingScreen } from './LoadingScreen' import { HeartLogo } from './HeartLogo' import { TypewriterRotator } from './TypewriterRotator' @@ -11,18 +10,12 @@ const HERO_PHRASES = [ '安全な意思決定 · SECURE DECISIONS AT THE EDGE', ] -interface LandingPageProps { - onLogin: () => void -} - -export function LandingPage({ onLogin }: LandingPageProps) { - const [loading, setLoading] = useState(false) +export function LandingPage() { const [showLanding, setShowLanding] = useState(false) const [isStandby, setIsStandby] = useState(true) // false = LIVE, true = STDBY const [velocity, setVelocity] = useState(0) const [energy, setEnergy] = useState(0) const [ramped, setRamped] = useState(false) - const [pendingAction, setPendingAction] = useState(null) const [activePanel, setActivePanel] = useState(null) // Fade-in landing page content after mount @@ -87,19 +80,6 @@ export function LandingPage({ onLogin }: LandingPageProps) { } }, []) - const handleLoadingComplete = () => { - if (pendingAction === 'makimaRedirect') { - window.location.assign('https://makima.jp') - return - } - onLogin() - } - - const handleLogin = () => { - setPendingAction('makimaRedirect') - setLoading(true) - } - const handleMission = () => { setActivePanel((mode) => (mode === 'mission' ? null : 'mission')) } @@ -110,50 +90,46 @@ export function LandingPage({ onLogin }: LandingPageProps) { return (
- {loading && } - - {!loading && ( -
-
-
- Soryu { - const img = e.currentTarget as HTMLImageElement - img.onerror = null - img.src = '/logo/crane-logo.png' - }} - /> -
-
- -
+
+
+
+ Soryu { + const img = e.currentTarget as HTMLImageElement + img.onerror = null + img.src = '/logo/crane-logo.png' + }} + /> +
+
+ +
-
-
- System: - setIsStandby(!isStandby)} - title="Click to toggle between LIVE and STANDBY" - > - - {isStandby ? 'STDBY' : 'LIVE'} - -
-
- Version: - v1.0.0 -
+
+
+ System: + setIsStandby(!isStandby)} + title="Click to toggle between LIVE and STANDBY" + > + + {isStandby ? 'STDBY' : 'LIVE'} + +
+
+ Version: + v1.0.0
- )} +
-
+
{/* Background GIF fills the main body */} )} - {/* CTA row spanning full width: left Mission/MAKIMA, right Login */} + {/* CTA row spanning full width: left Mission/MAKIMA */}
-
- -
-- cgit v1.2.3