refactor: remove redundant game titles from game screens
- Remove title/description from Memory Quiz page - Remove "Game Setup" header from Memory Pairs SetupPhase - Mini app nav now displays titles inline, making page headers redundant 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -138,25 +138,6 @@ export function SetupPhase() {
|
||||
minHeight: 0, // Allow shrinking
|
||||
overflow: 'auto' // Enable scrolling if needed
|
||||
})}>
|
||||
<h2 className={css({
|
||||
fontSize: { base: '18px', sm: '20px', md: '24px' },
|
||||
marginBottom: { base: '8px', md: '12px' },
|
||||
color: 'gray.800',
|
||||
fontWeight: 'bold'
|
||||
})}>
|
||||
Game Setup
|
||||
</h2>
|
||||
|
||||
<p className={css({
|
||||
fontSize: { base: '13px', sm: '14px', md: '16px' },
|
||||
color: 'gray.600',
|
||||
marginBottom: { base: '12px', sm: '16px', md: '20px' },
|
||||
lineHeight: '1.4',
|
||||
display: { base: 'none', sm: 'block' }
|
||||
})}>
|
||||
Configure your memory challenge. Choose your preferred mode, game type, and difficulty level.
|
||||
</p>
|
||||
|
||||
<div className={css({
|
||||
display: 'grid',
|
||||
gap: { base: '8px', sm: '12px', md: '16px' },
|
||||
@@ -165,54 +146,21 @@ export function SetupPhase() {
|
||||
minHeight: 0 // Allow shrinking
|
||||
})}>
|
||||
|
||||
{/* Current Player Setup */}
|
||||
<div className={css({
|
||||
background: 'linear-gradient(135deg, #f3f4f6, #e5e7eb)',
|
||||
rounded: { base: 'lg', md: 'xl' },
|
||||
p: { base: '3', sm: '4', md: '5' },
|
||||
border: '2px solid',
|
||||
borderColor: 'gray.300'
|
||||
})}>
|
||||
<h3 className={css({
|
||||
fontSize: { base: '14px', sm: '16px', md: '18px' },
|
||||
fontWeight: 'bold',
|
||||
color: 'gray.700',
|
||||
mb: { base: '1', sm: '2', md: '2' },
|
||||
textAlign: 'center'
|
||||
})}>
|
||||
🎮 Current Setup
|
||||
</h3>
|
||||
{/* Warning if no players */}
|
||||
{activePlayerCount === 0 && (
|
||||
<div className={css({
|
||||
fontSize: { base: '12px', sm: '13px', md: '14px' },
|
||||
color: 'gray.700',
|
||||
p: '4',
|
||||
background: 'rgba(239, 68, 68, 0.1)',
|
||||
border: '2px solid',
|
||||
borderColor: 'red.300',
|
||||
rounded: 'xl',
|
||||
textAlign: 'center'
|
||||
})}>
|
||||
<p>
|
||||
<strong>{activePlayerCount}</strong> player{activePlayerCount !== 1 ? 's' : ''} selected
|
||||
</p>
|
||||
<p className={css({ fontSize: { base: '11px', sm: '12px', md: '13px' }, color: 'gray.600', mt: '1', display: { base: 'none', sm: 'block' } })}>
|
||||
{activePlayerCount === 1
|
||||
? 'Solo challenge mode - focus & memory'
|
||||
: `${activePlayerCount}-player battle mode - compete for the most pairs`
|
||||
}
|
||||
<p className={css({ color: 'red.700', fontSize: { base: '14px', md: '16px' }, fontWeight: 'bold' })}>
|
||||
⚠️ Go back to the arcade to select players before starting the game
|
||||
</p>
|
||||
</div>
|
||||
{activePlayerCount === 0 && (
|
||||
<div className={css({
|
||||
mt: '3',
|
||||
p: '3',
|
||||
background: 'rgba(239, 68, 68, 0.1)',
|
||||
border: '1px solid',
|
||||
borderColor: 'red.200',
|
||||
rounded: 'lg',
|
||||
textAlign: 'center'
|
||||
})}>
|
||||
<p className={css({ color: 'red.700', fontSize: '14px' })}>
|
||||
⚠️ Go back to select players before starting the game
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Game Type Selection */}
|
||||
<div>
|
||||
@@ -462,36 +410,6 @@ export function SetupPhase() {
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Game Preview - Hidden on mobile and small screens */}
|
||||
<div className={css({
|
||||
background: 'gray.50',
|
||||
borderRadius: '12px',
|
||||
padding: '16px',
|
||||
marginTop: '16px',
|
||||
display: { base: 'none', lg: 'block' } // Only show on large screens
|
||||
})}>
|
||||
<h3 className={css({
|
||||
fontSize: '16px',
|
||||
fontWeight: 'bold',
|
||||
marginBottom: '8px',
|
||||
color: 'gray.700'
|
||||
})}>
|
||||
Game Preview
|
||||
</h3>
|
||||
<div className={css({
|
||||
fontSize: '12px',
|
||||
color: 'gray.600',
|
||||
lineHeight: '1.4'
|
||||
})}>
|
||||
<p><strong>Mode:</strong> {activePlayerCount === 1 ? 'Single Player' : `${activePlayerCount} Players`}</p>
|
||||
<p><strong>Type:</strong> {state.gameType === 'abacus-numeral' ? 'Abacus-Numeral Matching' : 'Complement Pairs'}</p>
|
||||
<p><strong>Difficulty:</strong> {state.difficulty} pairs ({state.difficulty * 2} cards)</p>
|
||||
{activePlayerCount > 1 && (
|
||||
<p><strong>Turn Timer:</strong> {state.turnTimer} seconds</p>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -264,9 +264,6 @@ function SetupPhase({ state, dispatch }: { state: SorobanQuizState; dispatch: Re
|
||||
overflow: 'hidden'
|
||||
}}
|
||||
>
|
||||
<h2 style={{ color: '#374151', margin: '0 0 8px 0', fontSize: '18px' }}>🧠 Speed Memory Quiz</h2>
|
||||
<p style={{ color: '#6b7280', margin: '0 0 16px 0', fontSize: '14px' }}>Test your soroban reading skills! Cards will be shown briefly, then you'll enter the numbers you remember.</p>
|
||||
|
||||
<div
|
||||
style={{
|
||||
maxWidth: '100%',
|
||||
|
||||
Reference in New Issue
Block a user