fix: update memory pairs game to use StandardGameLayout
- Replace custom layout with StandardGameLayout - Ensures navigation never covers game elements - Perfect viewport sizing with no scrolling issues - Maintains existing game functionality and styling 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import { useFullscreen } from '../../../../contexts/FullscreenContext'
|
||||
import { SetupPhase } from './SetupPhase'
|
||||
import { GamePhase } from './GamePhase'
|
||||
import { ResultsPhase } from './ResultsPhase'
|
||||
import { StandardGameLayout } from '../../../../components/StandardGameLayout'
|
||||
import { css } from '../../../../../styled-system/css'
|
||||
|
||||
export function MemoryPairsGame() {
|
||||
@@ -22,52 +23,55 @@ export function MemoryPairsGame() {
|
||||
}, [setFullscreenElement])
|
||||
|
||||
return (
|
||||
<div
|
||||
ref={gameRef}
|
||||
className={css({
|
||||
minHeight: '100vh',
|
||||
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
||||
padding: { base: '12px', sm: '16px', md: '20px' },
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
position: 'relative'
|
||||
})}>
|
||||
{/* Note: Fullscreen restore prompt removed - client-side navigation preserves fullscreen */}
|
||||
|
||||
<header className={css({
|
||||
textAlign: 'center',
|
||||
marginBottom: { base: '8px', sm: '12px', md: '16px' },
|
||||
px: { base: '4', md: '0' },
|
||||
display: { base: 'none', sm: 'block' }
|
||||
})}>
|
||||
<h1 className={css({
|
||||
fontSize: { base: '16px', sm: '20px', md: '24px' },
|
||||
fontWeight: 'bold',
|
||||
color: 'white',
|
||||
textShadow: '1px 1px 2px rgba(0,0,0,0.3)',
|
||||
marginBottom: 0
|
||||
<StandardGameLayout>
|
||||
<div
|
||||
ref={gameRef}
|
||||
className={css({
|
||||
flex: 1,
|
||||
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
||||
padding: { base: '12px', sm: '16px', md: '20px' },
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
position: 'relative',
|
||||
overflow: 'auto'
|
||||
})}>
|
||||
Memory Pairs
|
||||
</h1>
|
||||
</header>
|
||||
{/* Note: Fullscreen restore prompt removed - client-side navigation preserves fullscreen */}
|
||||
|
||||
<main className={css({
|
||||
width: '100%',
|
||||
maxWidth: '1200px',
|
||||
background: 'rgba(255,255,255,0.95)',
|
||||
borderRadius: { base: '12px', md: '20px' },
|
||||
padding: { base: '12px', sm: '16px', md: '24px', lg: '32px' },
|
||||
boxShadow: '0 10px 30px rgba(0,0,0,0.2)',
|
||||
flex: 1,
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
overflow: 'hidden'
|
||||
})}>
|
||||
{state.gamePhase === 'setup' && <SetupPhase />}
|
||||
{state.gamePhase === 'playing' && <GamePhase />}
|
||||
{state.gamePhase === 'results' && <ResultsPhase />}
|
||||
</main>
|
||||
</div>
|
||||
<header className={css({
|
||||
textAlign: 'center',
|
||||
marginBottom: { base: '8px', sm: '12px', md: '16px' },
|
||||
px: { base: '4', md: '0' },
|
||||
display: { base: 'none', sm: 'block' }
|
||||
})}>
|
||||
<h1 className={css({
|
||||
fontSize: { base: '16px', sm: '20px', md: '24px' },
|
||||
fontWeight: 'bold',
|
||||
color: 'white',
|
||||
textShadow: '1px 1px 2px rgba(0,0,0,0.3)',
|
||||
marginBottom: 0
|
||||
})}>
|
||||
Memory Pairs
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<main className={css({
|
||||
width: '100%',
|
||||
maxWidth: '1200px',
|
||||
background: 'rgba(255,255,255,0.95)',
|
||||
borderRadius: { base: '12px', md: '20px' },
|
||||
padding: { base: '12px', sm: '16px', md: '24px', lg: '32px' },
|
||||
boxShadow: '0 10px 30px rgba(0,0,0,0.2)',
|
||||
flex: 1,
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
overflow: 'hidden'
|
||||
})}>
|
||||
{state.gamePhase === 'setup' && <SetupPhase />}
|
||||
{state.gamePhase === 'playing' && <GamePhase />}
|
||||
{state.gamePhase === 'results' && <ResultsPhase />}
|
||||
</main>
|
||||
</div>
|
||||
</StandardGameLayout>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user