Task 3: Build LoginScreen component with typing animation

- Created LoginScreen.tsx with character-by-character username typing (30ms/char)
- Password dots fill at 20ms per dot
- Button shows pressed state before transition
- Added 'login' phase to App.tsx flow
- Added PMR colors and fonts to tailwind.config.js
- Added Inter font family to index.html
- Respects prefers-reduced-motion: instant completion in ~500ms
This commit is contained in:
2026-02-11 00:54:48 +00:00
parent 02d7dcabd9
commit 8ee9046bb3
5 changed files with 214 additions and 3 deletions
+6 -1
View File
@@ -2,6 +2,7 @@ import { useState } from 'react'
import type { Phase } from './types'
import { BootSequence } from './components/BootSequence'
import { ECGAnimation } from './components/ECGAnimation'
import { LoginScreen } from './components/LoginScreen'
import { FloatingNav } from './components/FloatingNav'
import { Hero } from './components/Hero'
import { Skills } from './components/Skills'
@@ -21,7 +22,11 @@ function App() {
)}
{phase === 'ecg' && (
<ECGAnimation onComplete={() => setPhase('content')} />
<ECGAnimation onComplete={() => setPhase('login')} />
)}
{phase === 'login' && (
<LoginScreen onComplete={() => setPhase('content')} />
)}
{phase === 'content' && (