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:
+6
-1
@@ -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' && (
|
||||
|
||||
Reference in New Issue
Block a user