style(ui): 전체 화면 폰트 크기 증가

- arena: 전투/결과/랭크 화면 폰트 조정
- front: 메인 화면 폰트 조정
- game: 게임플레이 위젯 전반 폰트 조정 (스킬, 장비, 인벤토리 등)
- hall_of_fame: 명예의 전당 폰트 조정
- new_character: 캐릭터 생성 화면 폰트 조정
- settings: 설정 화면 폰트 조정
- 전반적인 가독성 향상
This commit is contained in:
JiWoong Sul
2026-01-15 19:07:34 +09:00
parent e882093d37
commit cbf96c2c0e
43 changed files with 347 additions and 338 deletions

View File

@@ -439,7 +439,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
appBar: AppBar(
title: Text(
_battleTitle,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 12),
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 15),
),
centerTitle: true,
backgroundColor: RetroColors.panelBgOf(context),
@@ -549,7 +549,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
'VS',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: RetroColors.goldOf(context).withValues(alpha: 0.5),
),
),
@@ -578,7 +578,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
line,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 10,
fontSize: 15,
color: textColor,
height: 1.2,
),
@@ -640,7 +640,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
elapsedTime,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: RetroColors.goldOf(context),
),
),
@@ -681,7 +681,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
'VS',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.goldOf(context),
fontWeight: FontWeight.bold,
),
@@ -752,7 +752,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
name,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: RetroColors.textPrimaryOf(context),
),
maxLines: 1,
@@ -777,7 +777,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
_hpLabel,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 12,
color: accentColor.withValues(alpha: 0.8),
),
),
@@ -786,7 +786,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
'$hp/$hpMax',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 12,
color: isLow ? RetroColors.hpRed : fillColor,
),
),
@@ -809,7 +809,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
hpChange > 0 ? '+$hpChange' : '$hpChange',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
fontWeight: FontWeight.bold,
color: isDamage
? RetroColors.hpRed
@@ -942,7 +942,7 @@ class _ArenaBattleScreenState extends State<ArenaBattleScreen>
_currentSkillName!,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 12,
color: color,
),
),

View File

@@ -73,7 +73,7 @@ class _ArenaScreenState extends State<ArenaScreen> {
appBar: AppBar(
title: Text(
_arenaTitle,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 12),
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 15),
),
centerTitle: true,
backgroundColor: RetroColors.panelBgOf(context),
@@ -117,7 +117,7 @@ class _ArenaScreenState extends State<ArenaScreen> {
_arenaEmpty,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -126,7 +126,7 @@ class _ArenaScreenState extends State<ArenaScreen> {
_arenaEmptyHint,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 12,
color: RetroColors.textMutedOf(context),
),
textAlign: TextAlign.center,

View File

@@ -133,7 +133,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
appBar: AppBar(
title: Text(
_setupTitle,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 12),
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 15),
),
centerTitle: true,
backgroundColor: RetroColors.panelBgOf(context),
@@ -156,7 +156,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
_selectCharacter,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: RetroColors.goldOf(context),
),
),
@@ -302,7 +302,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
'$rank',
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: Colors.blue,
fontWeight: FontWeight.bold,
),
@@ -319,7 +319,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
_challenger!.characterName,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 11,
color: RetroColors.textPrimaryOf(context),
),
maxLines: 1,
@@ -330,7 +330,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
'Lv.${_challenger!.level}$score pt',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 11,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -374,7 +374,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
_startBattleLabel,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: _selectedSlot != null
? RetroColors.backgroundOf(context)
: RetroColors.textMutedOf(context),
@@ -417,7 +417,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
'$rank',
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: Colors.red,
fontWeight: FontWeight.bold,
),
@@ -434,7 +434,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
_opponent!.characterName,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 11,
color: RetroColors.textPrimaryOf(context),
),
maxLines: 1,
@@ -445,7 +445,7 @@ class _ArenaSetupScreenState extends State<ArenaSetupScreen> {
'Lv.${_opponent!.level}$score pt',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 11,
color: RetroColors.textSecondaryOf(context),
),
),

View File

@@ -136,7 +136,7 @@ class _ArenaLogEntryTile extends StatelessWidget {
Text(
_formatTime(entry.timestamp),
style: TextStyle(
fontSize: 10,
fontSize: 15,
color: Theme.of(context).colorScheme.outline,
fontFamily: 'JetBrainsMono',
),
@@ -153,7 +153,7 @@ class _ArenaLogEntryTile extends StatelessWidget {
child: Text(
entry.message,
style: TextStyle(
fontSize: 11,
fontSize: 16,
color: color ?? Theme.of(context).colorScheme.onSurface,
),
),

View File

@@ -128,7 +128,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_myEquipmentTitle,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: Colors.blue,
),
textAlign: TextAlign.center,
@@ -149,7 +149,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_enemyEquipmentTitle,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: Colors.red,
),
textAlign: TextAlign.center,
@@ -317,7 +317,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
hasItem ? item.name : '-',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: textColor,
),
maxLines: 1,
@@ -329,7 +329,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
'$score',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: isLocked
? RetroColors.textMutedOf(context)
: hasItem
@@ -405,7 +405,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_weaponLockedLabel,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 4,
fontSize: 11,
color: RetroColors.textMutedOf(context),
),
)
@@ -444,7 +444,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_recommendedLabel,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 4,
fontSize: 11,
color: Colors.green,
),
),
@@ -454,7 +454,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
diffText,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 11,
color: diffColor,
fontWeight: FontWeight.bold,
),
@@ -536,7 +536,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
resultText,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: resultColor,
),
),
@@ -566,7 +566,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
_selectedLabel,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 12,
color: RetroColors.goldOf(context),
fontWeight: FontWeight.bold,
),
@@ -597,7 +597,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
hasItem ? item.name : '(Empty)',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: hasItem ? rarityColor : RetroColors.textMutedOf(context),
),
maxLines: 2,
@@ -609,7 +609,7 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
'Score: $score',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 11,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -654,7 +654,11 @@ class _ArenaEquipmentCompareListState extends State<ArenaEquipmentCompareList> {
),
child: Text(
'$label +$value',
style: TextStyle(fontFamily: 'PressStart2P', fontSize: 4, color: color),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 11,
color: color,
),
),
);
}

View File

@@ -163,7 +163,7 @@ class ArenaRankCard extends StatelessWidget {
'$score',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: RetroColors.goldOf(context),
fontWeight: FontWeight.bold,
),
@@ -172,7 +172,7 @@ class ArenaRankCard extends StatelessWidget {
'SCORE',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: RetroColors.textMutedOf(context),
),
),

View File

@@ -66,7 +66,7 @@ class ArenaResultDialog extends StatelessWidget {
style: FilledButton.styleFrom(backgroundColor: resultColor),
child: Text(
l10n.buttonConfirm,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 8),
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 13),
),
),
],
@@ -87,7 +87,7 @@ class ArenaResultDialog extends StatelessWidget {
isVictory ? _arenaVictory : _arenaDefeat,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 15,
color: color,
),
),
@@ -116,7 +116,7 @@ class ArenaResultDialog extends StatelessWidget {
'VS',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 13,
color: RetroColors.textMutedOf(context),
),
),
@@ -143,7 +143,7 @@ class ArenaResultDialog extends StatelessWidget {
name,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 11,
color: isWinner
? RetroColors.goldOf(context)
: RetroColors.textMutedOf(context),
@@ -155,7 +155,7 @@ class ArenaResultDialog extends StatelessWidget {
isWinner ? 'WINNER' : 'LOSER',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: isWinner ? Colors.amber : Colors.grey,
),
),
@@ -199,7 +199,7 @@ class ArenaResultDialog extends StatelessWidget {
_arenaExchange,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 14,
color: RetroColors.goldOf(context),
),
),
@@ -211,7 +211,7 @@ class ArenaResultDialog extends StatelessWidget {
_getSlotLabel(slot),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 11,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -274,7 +274,7 @@ class ArenaResultDialog extends StatelessWidget {
name,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 13,
color: RetroColors.textPrimaryOf(context),
),
),
@@ -308,7 +308,7 @@ class ArenaResultDialog extends StatelessWidget {
'${isGain ? '+' : ''}$scoreDiff pt',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 13,
color: isGain ? Colors.green : Colors.red,
),
),
@@ -329,7 +329,7 @@ class ArenaResultDialog extends StatelessWidget {
'(empty)',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 12,
color: RetroColors.textMutedOf(context),
),
);
@@ -351,7 +351,7 @@ class ArenaResultDialog extends StatelessWidget {
item.name,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 12,
color: rarityColor,
),
maxLines: 1,
@@ -361,7 +361,7 @@ class ArenaResultDialog extends StatelessWidget {
'$score pt',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 12,
color: RetroColors.textMutedOf(context),
),
),

View File

@@ -133,7 +133,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
SnackBar(
content: Text(
'${l10n.uiSaved}: $fileName',
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6),
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
),
backgroundColor: RetroColors.mpOf(context),
duration: const Duration(seconds: 3),
@@ -146,7 +146,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
SnackBar(
content: Text(
'${l10n.uiError}: $e',
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6),
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
),
backgroundColor: RetroColors.hpOf(context),
duration: const Duration(seconds: 3),
@@ -366,7 +366,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
isVictory ? _victory : _defeat,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: color,
),
),
@@ -396,7 +396,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
winner,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 11,
color: RetroColors.goldOf(context),
),
),
@@ -404,7 +404,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
' defeated ',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: RetroColors.textMutedOf(context),
),
),
@@ -413,7 +413,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
loser,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 12,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -421,7 +421,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
' in ',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: RetroColors.textMutedOf(context),
),
),
@@ -436,7 +436,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
'${widget.turnCount} $_turns',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 12,
color: RetroColors.goldOf(context),
),
),
@@ -502,7 +502,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
_exchange,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 12,
color: RetroColors.goldOf(context),
),
),
@@ -514,7 +514,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
_getSlotLabel(slot),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 12,
color: RetroColors.textMutedOf(context),
),
),
@@ -559,7 +559,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
'${scoreDiff >= 0 ? '+' : ''}$scoreDiff',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: scoreDiff >= 0 ? Colors.green : Colors.red,
),
),
@@ -586,7 +586,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
'(empty)',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 11,
color: RetroColors.textMutedOf(context),
),
),
@@ -609,7 +609,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
item.name,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 12,
color: rarityColor,
),
maxLines: 1,
@@ -619,7 +619,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
'$score pt',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 12,
color: RetroColors.textMutedOf(context),
),
),
@@ -642,7 +642,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
l10n.buttonConfirm,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: Colors.black,
),
),
@@ -659,7 +659,7 @@ class _ArenaResultPanelState extends State<ArenaResultPanel>
icon: const Icon(Icons.save_alt, size: 14),
label: Text(
l10n.uiSaveBattleLog,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6),
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
),
style: OutlinedButton.styleFrom(
foregroundColor: RetroColors.mpOf(context),

View File

@@ -186,7 +186,7 @@ class _RetroHeader extends StatelessWidget {
l10n.appTitle,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 14,
fontSize: 13,
color: RetroColors.gold,
shadows: [
Shadow(color: RetroColors.goldDark, offset: Offset(2, 2)),
@@ -335,7 +335,7 @@ class _SavedGameInfo extends StatelessWidget {
'${preview.characterName} Lv.${preview.level} ${preview.actName}',
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 11,
color: RetroColors.textDisabled,
),
),
@@ -358,7 +358,7 @@ class _CopyrightFooter extends StatelessWidget {
textAlign: TextAlign.center,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 7,
color: RetroColors.textDisabled,
),
),
@@ -390,7 +390,7 @@ class _RetroTag extends StatelessWidget {
label,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 11,
color: RetroColors.textLight,
),
),

View File

@@ -145,7 +145,7 @@ class _HeroVsBossAnimationState extends State<HeroVsBossAnimation> {
text: char,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 10,
fontSize: 15,
height: 1.1,
color: color,
letterSpacing: 0,
@@ -199,7 +199,7 @@ class _HeroVsBossAnimationState extends State<HeroVsBossAnimation> {
'$raceName',
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 9,
fontSize: 15,
color: Colors.cyan.withValues(alpha: 0.7),
),
),

View File

@@ -12,9 +12,7 @@ import 'package:asciineverdie/src/features/game/widgets/combat_log.dart';
/// - 전투 이벤트 → 로그 메시지 변환
/// - 태스크 변경 시 로그 추가
class CombatLogController extends ChangeNotifier {
CombatLogController({
this.onCombatEvent,
});
CombatLogController({this.onCombatEvent});
/// 전투 이벤트 발생 시 호출되는 콜백 (SFX 재생 등에 사용)
final void Function(CombatEvent event)? onCombatEvent;
@@ -82,10 +80,7 @@ class CombatLogController extends ChangeNotifier {
/// 레벨업 로그 추가
void addLevelUpLog(int level) {
addLog(
'${game_l10n.uiLevelUp} Lv.$level',
CombatLogType.levelUp,
);
addLog('${game_l10n.uiLevelUp} Lv.$level', CombatLogType.levelUp);
}
/// 퀘스트 완료 로그 추가

View File

@@ -13,10 +13,7 @@ import 'package:asciineverdie/src/core/model/monster_grade.dart';
/// - 전투 이벤트 SFX 재생
/// - 볼륨 관리
class GameAudioController extends ChangeNotifier {
GameAudioController({
required this.audioService,
this.getSpeedMultiplier,
});
GameAudioController({required this.audioService, this.getSpeedMultiplier});
final AudioService? audioService;

View File

@@ -660,7 +660,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
L10n.of(context).progressQuestTitle(state.traits.name),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 15,
color: RetroColors.gold,
),
),
@@ -950,7 +950,10 @@ class _GamePlayScreenState extends State<GamePlayScreen>
// Phase 8: 전투 로그 (Combat Log)
_buildPanelHeader(l10n.combatLog),
Expanded(flex: 2, child: CombatLog(entries: _combatLogController.entries)),
Expanded(
flex: 2,
child: CombatLog(entries: _combatLogController.entries),
),
],
),
);
@@ -1018,7 +1021,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
title.toUpperCase(),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
fontWeight: FontWeight.bold,
color: RetroColors.gold,
),
@@ -1033,7 +1036,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
title.toUpperCase(),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.textDisabled,
),
),
@@ -1113,7 +1116,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
t.$1.toUpperCase(),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.textDisabled,
),
),
@@ -1123,7 +1126,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
t.$2,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: RetroColors.textLight,
),
overflow: TextOverflow.ellipsis,
@@ -1147,7 +1150,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
L10n.of(context).noSpellsYet,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: RetroColors.textDisabled,
),
),
@@ -1188,7 +1191,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
l10n.goldAmount(state.inventory.gold),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: RetroColors.gold,
),
),
@@ -1215,7 +1218,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
l10n.gold.toUpperCase(),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.gold,
),
),
@@ -1224,7 +1227,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
'${state.inventory.gold}',
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: RetroColors.gold,
),
),
@@ -1247,7 +1250,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
translatedName,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.textLight,
),
overflow: TextOverflow.ellipsis,
@@ -1257,7 +1260,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
'${item.count}',
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.cream,
),
),
@@ -1278,7 +1281,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
l10n.prologue.toUpperCase(),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: RetroColors.textDisabled,
),
),
@@ -1312,7 +1315,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
index == 0 ? l10n.prologue : l10n.actNumber(_toRoman(index)),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: isCompleted
? RetroColors.textDisabled
: (isCurrent
@@ -1341,7 +1344,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
l10n.noActiveQuests.toUpperCase(),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: RetroColors.textDisabled,
),
),
@@ -1381,7 +1384,7 @@ class _GamePlayScreenState extends State<GamePlayScreen>
quest.caption,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: isCurrentQuest
? RetroColors.gold
: (quest.isComplete
@@ -1461,7 +1464,7 @@ class _SkillRow extends StatelessWidget {
child: Text(
skillName,
style: TextStyle(
fontSize: 11,
fontSize: 16,
color: isOnCooldown ? Colors.grey : null,
),
overflow: TextOverflow.ellipsis,
@@ -1474,7 +1477,7 @@ class _SkillRow extends StatelessWidget {
// 랭크
Text(
rank,
style: const TextStyle(fontSize: 11, fontWeight: FontWeight.bold),
style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
),
],
),

View File

@@ -433,7 +433,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
'OPTIONS',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 15,
color: gold,
),
),
@@ -581,7 +581,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
subtitle: Text(
l10n.menuDeleteSave,
style: TextStyle(
fontSize: 12,
fontSize: 17,
color: Theme.of(context).colorScheme.outline,
),
),
@@ -613,7 +613,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
'DEBUG CHEATS',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: Colors.red.shade300,
),
),
@@ -659,7 +659,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
'DEBUG TOOLS',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: Colors.orange.shade300,
),
),
@@ -698,7 +698,7 @@ class _MobileCarouselLayoutState extends State<MobileCarouselLayout> {
L10n.of(context).progressQuestTitle(state.traits.name),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: gold,
),
),

View File

@@ -52,7 +52,7 @@ class CharacterSheetPage extends StatelessWidget {
title,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 13,
fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer,
),
),
@@ -83,14 +83,14 @@ class CharacterSheetPage extends StatelessWidget {
width: 60,
child: Text(
t.$1,
style: TextStyle(fontSize: 12, color: Colors.grey.shade600),
style: TextStyle(fontSize: 17, color: Colors.grey.shade600),
),
),
Expanded(
child: Text(
t.$2,
style: const TextStyle(
fontSize: 13,
fontSize: 18,
fontWeight: FontWeight.bold,
),
overflow: TextOverflow.ellipsis,
@@ -122,7 +122,7 @@ class CharacterSheetPage extends StatelessWidget {
const SizedBox(height: 4),
Text(
'${exp.position} / ${exp.max}',
style: TextStyle(fontSize: 10, color: Colors.grey.shade600),
style: TextStyle(fontSize: 15, color: Colors.grey.shade600),
),
],
),

View File

@@ -35,7 +35,7 @@ class CombatLogPage extends StatelessWidget {
title,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 13,
fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer,
),
),

View File

@@ -53,7 +53,7 @@ class EquipmentPage extends StatelessWidget {
title,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 13,
fontSize: 18,
color: gold,
),
),

View File

@@ -60,7 +60,7 @@ class InventoryPage extends StatelessWidget {
title,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 13,
fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer,
),
),
@@ -89,13 +89,13 @@ class InventoryPage extends StatelessWidget {
Expanded(
child: Text(
localizations.gold,
style: const TextStyle(fontSize: 13),
style: const TextStyle(fontSize: 18),
),
),
Text(
'${inventory.gold}',
style: const TextStyle(
fontSize: 13,
fontSize: 18,
fontWeight: FontWeight.bold,
color: Colors.amber,
),
@@ -120,14 +120,14 @@ class InventoryPage extends StatelessWidget {
Expanded(
child: Text(
translatedName,
style: const TextStyle(fontSize: 13),
style: const TextStyle(fontSize: 18),
overflow: TextOverflow.ellipsis,
),
),
Text(
'${item.count}',
style: const TextStyle(
fontSize: 12,
fontSize: 17,
fontWeight: FontWeight.bold,
),
),
@@ -157,7 +157,7 @@ class InventoryPage extends StatelessWidget {
const SizedBox(height: 4),
Text(
'$percentage%',
style: TextStyle(fontSize: 10, color: Colors.grey.shade600),
style: TextStyle(fontSize: 15, color: Colors.grey.shade600),
),
],
),

View File

@@ -39,7 +39,7 @@ class QuestPage extends StatelessWidget {
title,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 13,
fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer,
),
),
@@ -53,7 +53,7 @@ class QuestPage extends StatelessWidget {
return Center(
child: Text(
localizations.noActiveQuests,
style: const TextStyle(fontSize: 13, color: Colors.grey),
style: const TextStyle(fontSize: 18, color: Colors.grey),
),
);
}
@@ -85,7 +85,7 @@ class QuestPage extends StatelessWidget {
child: Text(
entry.caption,
style: TextStyle(
fontSize: 13,
fontSize: 18,
decoration: entry.isComplete
? TextDecoration.lineThrough
: null,
@@ -126,7 +126,7 @@ class QuestPage extends StatelessWidget {
const SizedBox(height: 4),
Text(
localizations.percentComplete(percentage),
style: TextStyle(fontSize: 10, color: Colors.grey.shade600),
style: TextStyle(fontSize: 15, color: Colors.grey.shade600),
),
],
),

View File

@@ -53,7 +53,7 @@ class SkillsPage extends StatelessWidget {
title,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 13,
fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer,
),
),
@@ -65,7 +65,7 @@ class SkillsPage extends StatelessWidget {
return Center(
child: Text(
L10n.of(context).noSpellsYet,
style: const TextStyle(fontSize: 12, color: Colors.grey),
style: const TextStyle(fontSize: 17, color: Colors.grey),
),
);
}
@@ -125,7 +125,7 @@ class _SkillRow extends StatelessWidget {
child: Text(
skillName,
style: TextStyle(
fontSize: 13,
fontSize: 18,
color: isOnCooldown ? Colors.grey : null,
),
overflow: TextOverflow.ellipsis,
@@ -138,7 +138,7 @@ class _SkillRow extends StatelessWidget {
// 랭크
Text(
rank,
style: const TextStyle(fontSize: 12, fontWeight: FontWeight.bold),
style: const TextStyle(fontSize: 17, fontWeight: FontWeight.bold),
),
],
),

View File

@@ -43,7 +43,7 @@ class StoryPage extends StatelessWidget {
title,
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 13,
fontSize: 18,
color: Theme.of(context).colorScheme.onPrimaryContainer,
),
),
@@ -57,7 +57,7 @@ class StoryPage extends StatelessWidget {
return Center(
child: Text(
localizations.prologue,
style: const TextStyle(fontSize: 13, color: Colors.grey),
style: const TextStyle(fontSize: 18, color: Colors.grey),
),
);
}
@@ -85,7 +85,7 @@ class StoryPage extends StatelessWidget {
child: Text(
label,
style: TextStyle(
fontSize: 13,
fontSize: 18,
decoration: isCompleted ? TextDecoration.lineThrough : null,
color: isCompleted ? Colors.grey : null,
),

View File

@@ -23,7 +23,7 @@ class ActiveBuffPanel extends StatelessWidget {
child: Text(
l10n.uiNoActiveBuffs,
style: const TextStyle(
fontSize: 11,
fontSize: 16,
color: Colors.grey,
fontStyle: FontStyle.italic,
),
@@ -72,7 +72,7 @@ class _BuffRow extends StatelessWidget {
child: Text(
buff.effect.name,
style: const TextStyle(
fontSize: 11,
fontSize: 16,
fontWeight: FontWeight.w500,
color: Colors.lightBlue,
),
@@ -84,7 +84,7 @@ class _BuffRow extends StatelessWidget {
Text(
'${remainingSec}s',
style: TextStyle(
fontSize: 10,
fontSize: 15,
color: remainingMs < 3000 ? Colors.orange : Colors.grey,
fontWeight: remainingMs < 3000
? FontWeight.bold
@@ -195,7 +195,7 @@ class _ModifierChip extends StatelessWidget {
child: Text(
'$label: $sign$percent%',
style: TextStyle(
fontSize: 8,
fontSize: 14,
color: color,
fontWeight: FontWeight.w500,
),

View File

@@ -628,7 +628,8 @@ class _AsciiAnimationCardState extends State<AsciiAnimationCard> {
final monsterCategory = getMonsterCategory(monsterName);
// 캐시된 사이즈 사용 (사망 시점에 widget.monsterSize가 null일 수 있음)
final monsterSize = _lastMonsterSize ??
final monsterSize =
_lastMonsterSize ??
widget.monsterSize ??
getMonsterSize(_lastMonsterLevel ?? widget.monsterLevel);

View File

@@ -105,7 +105,7 @@ class _NavButton extends StatelessWidget {
label,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
fontWeight: isSelected ? FontWeight.bold : FontWeight.normal,
color: color,
),

View File

@@ -133,7 +133,7 @@ class _CinematicViewState extends State<CinematicView>
l10n.translateCinematic(step.text),
style: const TextStyle(
color: Colors.white,
fontSize: 18,
fontSize: 22,
fontFamily: 'JetBrainsMono',
height: 1.5,
),
@@ -167,7 +167,7 @@ class _CinematicViewState extends State<CinematicView>
l10n.uiSkip,
style: const TextStyle(
color: Colors.white54,
fontSize: 14,
fontSize: 18,
),
),
),
@@ -182,7 +182,7 @@ class _CinematicViewState extends State<CinematicView>
l10n.uiTapToContinue,
style: TextStyle(
color: Colors.white.withValues(alpha: 0.3),
fontSize: 12,
fontSize: 17,
),
textAlign: TextAlign.center,
),
@@ -213,7 +213,7 @@ class _AsciiArtDisplay extends StatelessWidget {
asciiArt,
style: const TextStyle(
color: Colors.cyan,
fontSize: 14,
fontSize: 18,
fontFamily: 'JetBrainsMono',
height: 1.2,
),

View File

@@ -122,7 +122,7 @@ class _LogEntryTile extends StatelessWidget {
Text(
_formatTime(entry.timestamp),
style: TextStyle(
fontSize: 10,
fontSize: 15,
color: Theme.of(context).colorScheme.outline,
fontFamily: 'JetBrainsMono',
),
@@ -139,7 +139,7 @@ class _LogEntryTile extends StatelessWidget {
child: Text(
entry.message,
style: TextStyle(
fontSize: 11,
fontSize: 16,
color: color ?? Theme.of(context).colorScheme.onSurface,
),
),

View File

@@ -81,19 +81,19 @@ class DeathOverlay extends StatelessWidget {
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('', style: TextStyle(fontSize: 16, color: hpColor)),
Text('', style: TextStyle(fontSize: 20, color: hpColor)),
const SizedBox(width: 8),
Text(
'GAME OVER',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 15,
color: hpColor,
letterSpacing: 2,
),
),
const SizedBox(width: 8),
Text('', style: TextStyle(fontSize: 16, color: hpColor)),
Text('', style: TextStyle(fontSize: 20, color: hpColor)),
],
),
),
@@ -185,7 +185,7 @@ class DeathOverlay extends StatelessWidget {
' ||||| ',
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: hpColor,
height: 1.0,
),
@@ -196,7 +196,7 @@ class DeathOverlay extends StatelessWidget {
l10n.deathYouDied.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 14,
fontSize: 16,
color: hpColor,
letterSpacing: 2,
shadows: [
@@ -227,7 +227,7 @@ class DeathOverlay extends StatelessWidget {
traits.name,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 11,
fontSize: 14,
color: gold,
),
),
@@ -236,7 +236,7 @@ class DeathOverlay extends StatelessWidget {
'Lv.${deathInfo.levelAtDeath} ${GameDataL10n.getKlassName(context, traits.klass)}',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: textPrimary,
),
),
@@ -259,14 +259,14 @@ class DeathOverlay extends StatelessWidget {
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Text('', style: TextStyle(fontSize: 14, color: hpColor)),
Text('', style: TextStyle(fontSize: 18, color: hpColor)),
const SizedBox(width: 8),
Flexible(
child: Text(
causeText,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: hpColor,
),
textAlign: TextAlign.center,
@@ -305,7 +305,7 @@ class DeathOverlay extends StatelessWidget {
),
child: Row(
children: [
const Text('🔥', style: TextStyle(fontSize: 16)),
const Text('🔥', style: TextStyle(fontSize: 20)),
const SizedBox(width: 8),
Expanded(
child: Column(
@@ -315,7 +315,7 @@ class DeathOverlay extends StatelessWidget {
l10n.deathSacrificedToResurrect.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: muted,
),
),
@@ -324,7 +324,7 @@ class DeathOverlay extends StatelessWidget {
deathInfo.lostItemName!,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: hpColor,
),
),
@@ -370,13 +370,13 @@ class DeathOverlay extends StatelessWidget {
children: [
Row(
children: [
Text(asciiIcon, style: TextStyle(fontSize: 14, color: valueColor)),
Text(asciiIcon, style: TextStyle(fontSize: 18, color: valueColor)),
const SizedBox(width: 8),
Text(
label,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: muted,
),
),
@@ -386,7 +386,7 @@ class DeathOverlay extends StatelessWidget {
value,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: valueColor,
),
),
@@ -427,7 +427,7 @@ class DeathOverlay extends StatelessWidget {
Text(
'',
style: TextStyle(
fontSize: 16,
fontSize: 20,
color: expColor,
fontWeight: FontWeight.bold,
),
@@ -437,7 +437,7 @@ class DeathOverlay extends StatelessWidget {
l10n.deathResurrect.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: expColor,
letterSpacing: 1,
),
@@ -486,7 +486,7 @@ class DeathOverlay extends StatelessWidget {
Text(
isAutoResurrectEnabled ? '' : '',
style: TextStyle(
fontSize: 14,
fontSize: 18,
color: buttonColor,
fontWeight: FontWeight.bold,
),
@@ -496,7 +496,7 @@ class DeathOverlay extends StatelessWidget {
l10n.deathAutoResurrect.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: buttonColor,
letterSpacing: 1,
),
@@ -507,7 +507,7 @@ class DeathOverlay extends StatelessWidget {
'ON',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: mpColor,
fontWeight: FontWeight.bold,
),
@@ -531,13 +531,13 @@ class DeathOverlay extends StatelessWidget {
children: [
Row(
children: [
const Text('📜', style: TextStyle(fontSize: 12)),
const Text('📜', style: TextStyle(fontSize: 17)),
const SizedBox(width: 6),
Text(
l10n.deathCombatLog.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: gold,
),
),
@@ -572,14 +572,14 @@ class DeathOverlay extends StatelessWidget {
padding: const EdgeInsets.symmetric(vertical: 1),
child: Row(
children: [
Text(asciiIcon, style: TextStyle(fontSize: 10, color: color)),
Text(asciiIcon, style: TextStyle(fontSize: 15, color: color)),
const SizedBox(width: 4),
Expanded(
child: Text(
message,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 8,
fontSize: 14,
color: color,
),
overflow: TextOverflow.ellipsis,

View File

@@ -298,7 +298,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
children: [
// HP 바
Container(
height: 14,
height: 20,
decoration: BoxDecoration(
color: isLow
? Colors.red.withValues(alpha: 0.2)
@@ -309,12 +309,12 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
children: [
// 라벨
Container(
width: 28,
width: 32,
alignment: Alignment.center,
child: Text(
l10n.statHp,
style: const TextStyle(
fontSize: 9,
fontSize: 11,
fontWeight: FontWeight.bold,
color: Colors.white70,
),
@@ -332,17 +332,17 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
valueColor: AlwaysStoppedAnimation(
isLow ? Colors.red : Colors.red.shade600,
),
minHeight: 14,
minHeight: 20,
),
),
),
// 수치
Container(
width: 48,
width: 56,
alignment: Alignment.center,
child: Text(
'$_currentHp/$_currentHpMax',
style: const TextStyle(fontSize: 8, color: Colors.white),
style: const TextStyle(fontSize: 11, color: Colors.white),
),
),
],
@@ -361,7 +361,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Text(
_hpChange > 0 ? '+$_hpChange' : '$_hpChange',
style: TextStyle(
fontSize: 11,
fontSize: 13,
fontWeight: FontWeight.bold,
color: _hpChange < 0 ? Colors.red : Colors.green,
shadows: const [
@@ -389,7 +389,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
clipBehavior: Clip.none,
children: [
Container(
height: 14,
height: 20,
decoration: BoxDecoration(
color: Colors.grey.shade800,
borderRadius: BorderRadius.circular(3),
@@ -397,12 +397,12 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Row(
children: [
Container(
width: 28,
width: 32,
alignment: Alignment.center,
child: Text(
l10n.statMp,
style: const TextStyle(
fontSize: 9,
fontSize: 11,
fontWeight: FontWeight.bold,
color: Colors.white70,
),
@@ -419,16 +419,16 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
valueColor: AlwaysStoppedAnimation(
Colors.blue.shade600,
),
minHeight: 14,
minHeight: 20,
),
),
),
Container(
width: 48,
width: 56,
alignment: Alignment.center,
child: Text(
'$_currentMp/$_currentMpMax',
style: const TextStyle(fontSize: 8, color: Colors.white),
style: const TextStyle(fontSize: 11, color: Colors.white),
),
),
],
@@ -446,7 +446,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Text(
_mpChange > 0 ? '+$_mpChange' : '$_mpChange',
style: TextStyle(
fontSize: 11,
fontSize: 13,
fontWeight: FontWeight.bold,
color: _mpChange < 0 ? Colors.orange : Colors.cyan,
shadows: const [
@@ -534,7 +534,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
clipBehavior: Clip.none,
children: [
Container(
height: 36,
height: 52,
decoration: BoxDecoration(
color: Colors.orange.withValues(alpha: 0.1),
borderRadius: BorderRadius.circular(4),
@@ -560,14 +560,14 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
valueColor: const AlwaysStoppedAnimation(
Colors.orange,
),
minHeight: 12,
minHeight: 16,
),
),
// HP% 중앙 오버레이
Text(
'${(ratio * 100).toInt()}%',
style: TextStyle(
fontSize: 9,
fontSize: 12,
fontWeight: FontWeight.bold,
color: Colors.white,
shadows: [
@@ -589,7 +589,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Text(
'Lv.$monsterLevel $monsterName',
style: const TextStyle(
fontSize: 9,
fontSize: 12,
color: Colors.orange,
fontWeight: FontWeight.bold,
),
@@ -615,7 +615,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
? '+$_monsterHpChange'
: '$_monsterHpChange',
style: TextStyle(
fontSize: 12,
fontSize: 17,
fontWeight: FontWeight.bold,
color: _monsterHpChange < 0
? Colors.yellow
@@ -637,14 +637,14 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
/// 컨트롤 버튼 (비전투 시)
Widget _buildControlButtons() {
return SizedBox(
height: 32,
height: 40,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// 일시정지 버튼
SizedBox(
width: 36,
height: 28,
width: 40,
height: 36,
child: OutlinedButton(
onPressed: widget.onPauseToggle,
style: OutlinedButton.styleFrom(
@@ -660,7 +660,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
),
child: Icon(
widget.isPaused ? Icons.play_arrow : Icons.pause,
size: 14,
size: 18,
color: widget.isPaused ? Colors.orange : null,
),
),
@@ -668,8 +668,8 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
const SizedBox(width: 4),
// 속도 버튼
SizedBox(
width: 36,
height: 28,
width: 44,
height: 36,
child: OutlinedButton(
onPressed: widget.onSpeedCycle,
style: OutlinedButton.styleFrom(
@@ -679,7 +679,7 @@ class _EnhancedAnimationPanelState extends State<EnhancedAnimationPanel>
child: Text(
'${widget.speedMultiplier}x',
style: TextStyle(
fontSize: 10,
fontSize: 12,
fontWeight: widget.speedMultiplier > 1
? FontWeight.bold
: FontWeight.normal,

View File

@@ -102,7 +102,7 @@ class _EquipmentSlotTile extends StatelessWidget {
child: Text(
translatedName,
style: TextStyle(
fontSize: 11,
fontSize: 16,
color: rarityColor,
fontWeight: FontWeight.w500,
),
@@ -148,7 +148,7 @@ class _EmptySlotTile extends StatelessWidget {
title: Text(
'[${_getSlotName(slot)}] ${l10n.uiEmpty}',
style: TextStyle(
fontSize: 11,
fontSize: 16,
color: textMuted,
fontStyle: FontStyle.italic,
),
@@ -209,7 +209,7 @@ class _ScoreBadge extends StatelessWidget {
child: Text(
'$score',
style: TextStyle(
fontSize: 10,
fontSize: 15,
fontWeight: FontWeight.bold,
color: gold,
),
@@ -264,12 +264,12 @@ class _TotalScoreHeader extends StatelessWidget {
children: [
Text(
l10n.uiEquipmentScore,
style: TextStyle(fontSize: 10, color: textSecondary),
style: TextStyle(fontSize: 15, color: textSecondary),
),
Text(
'$totalScore',
style: TextStyle(
fontSize: 18,
fontSize: 22,
fontWeight: FontWeight.bold,
color: gold,
),
@@ -288,7 +288,7 @@ class _TotalScoreHeader extends StatelessWidget {
child: Text(
'$equippedCount / $totalSlots',
style: TextStyle(
fontSize: 11,
fontSize: 16,
fontWeight: FontWeight.w500,
color: textPrimary,
),
@@ -391,7 +391,7 @@ class _StatsGrid extends StatelessWidget {
if (entries.isEmpty) {
return Text(
l10n.uiNoBonusStats,
style: TextStyle(fontSize: 10, color: RetroColors.textMutedOf(context)),
style: TextStyle(fontSize: 15, color: RetroColors.textMutedOf(context)),
);
}
@@ -435,12 +435,12 @@ class _StatChip extends StatelessWidget {
children: [
Text(
'${entry.label}: ',
style: TextStyle(fontSize: 9, color: textMuted),
style: TextStyle(fontSize: 15, color: textMuted),
),
Text(
entry.value,
style: TextStyle(
fontSize: 9,
fontSize: 15,
fontWeight: FontWeight.bold,
color: textPrimary,
),
@@ -466,13 +466,13 @@ class _ItemMetaRow extends StatelessWidget {
children: [
Text(
l10n.uiLevel(item.level),
style: TextStyle(fontSize: 9, color: textMuted),
style: TextStyle(fontSize: 15, color: textMuted),
),
const SizedBox(width: 8),
Text(
rarityName,
style: TextStyle(
fontSize: 9,
fontSize: 15,
color: _getRarityColor(item.rarity),
fontWeight: FontWeight.bold,
),
@@ -480,7 +480,7 @@ class _ItemMetaRow extends StatelessWidget {
const SizedBox(width: 8),
Text(
l10n.uiWeight(item.weight),
style: TextStyle(fontSize: 9, color: textMuted),
style: TextStyle(fontSize: 15, color: textMuted),
),
],
);

View File

@@ -267,7 +267,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
change > 0 ? '+$change' : '$change',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
fontWeight: FontWeight.bold,
color: isDamage
? RetroColors.hpRed
@@ -310,7 +310,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
label,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
fontWeight: FontWeight.bold,
color: RetroColors.gold.withValues(alpha: blinkOpacity),
),
@@ -358,7 +358,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
'$current/$max',
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.textLight,
),
textAlign: TextAlign.right,
@@ -452,7 +452,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
'${(ratio * 100).toInt()}%',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.textLight,
shadows: [
Shadow(
@@ -471,7 +471,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
'$levelPrefix$monsterName',
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 12,
color: RetroColors.gold,
),
overflow: TextOverflow.ellipsis,
@@ -495,7 +495,7 @@ class _HpMpBarState extends State<HpMpBar> with TickerProviderStateMixin {
: '$_monsterHpChange',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
fontWeight: FontWeight.bold,
color: _monsterHpChange < 0
? RetroColors.gold

View File

@@ -163,7 +163,7 @@ class _NotificationCard extends StatelessWidget {
asciiIcon,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: accentColor,
fontWeight: FontWeight.bold,
),
@@ -175,7 +175,7 @@ class _NotificationCard extends StatelessWidget {
_getTypeLabel(notification.type),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: accentColor,
letterSpacing: 1,
),
@@ -188,7 +188,7 @@ class _NotificationCard extends StatelessWidget {
'[X]',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: textMuted,
),
),
@@ -222,7 +222,7 @@ class _NotificationCard extends StatelessWidget {
notification.title,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: textPrimary,
),
),
@@ -232,7 +232,7 @@ class _NotificationCard extends StatelessWidget {
notification.subtitle!,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 9,
fontSize: 14,
color: textMuted,
),
),

View File

@@ -27,7 +27,7 @@ class PotionInventoryPanel extends StatelessWidget {
child: Text(
l10n.uiNoPotions,
style: const TextStyle(
fontSize: 11,
fontSize: 16,
color: Colors.grey,
fontStyle: FontStyle.italic,
),
@@ -115,7 +115,7 @@ class _PotionRow extends StatelessWidget {
child: Text(
l10n.translateSpell(potion.name),
style: TextStyle(
fontSize: 11,
fontSize: 16,
color: color,
fontWeight: FontWeight.w500,
),
@@ -137,7 +137,7 @@ class _PotionRow extends StatelessWidget {
child: Text(
'x$quantity',
style: TextStyle(
fontSize: 10,
fontSize: 15,
fontWeight: FontWeight.bold,
color: color,
),
@@ -210,7 +210,7 @@ class _HealBadge extends StatelessWidget {
),
child: Text(
healText,
style: TextStyle(fontSize: 9, color: Colors.grey.shade700),
style: TextStyle(fontSize: 15, color: Colors.grey.shade700),
),
);
}

View File

@@ -92,7 +92,7 @@ class _SkillPanelState extends State<SkillPanel>
if (skillStates.isEmpty) {
return Center(
child: Text(l10n.uiNoSkills, style: const TextStyle(fontSize: 11)),
child: Text(l10n.uiNoSkills, style: const TextStyle(fontSize: 16)),
);
}
@@ -176,7 +176,7 @@ class _SkillRow extends StatelessWidget {
child: Text(
skill.name,
style: TextStyle(
fontSize: 10,
fontSize: 15,
color: isReady
? (skill.element != null ? elementColor : Colors.white)
: Colors.grey,
@@ -195,7 +195,7 @@ class _SkillRow extends StatelessWidget {
),
child: Text(
l10n.uiDot,
style: const TextStyle(fontSize: 9, color: Colors.white70),
style: const TextStyle(fontSize: 15, color: Colors.white70),
),
),
const SizedBox(width: 4),
@@ -204,7 +204,7 @@ class _SkillRow extends StatelessWidget {
// 랭크
Text(
l10n.uiLevel(rank),
style: const TextStyle(fontSize: 9, color: Colors.grey),
style: const TextStyle(fontSize: 15, color: Colors.grey),
),
const SizedBox(width: 4),
// 쿨타임 상태
@@ -213,7 +213,7 @@ class _SkillRow extends StatelessWidget {
child: Text(
cooldownText,
style: TextStyle(
fontSize: 9,
fontSize: 15,
color: isReady ? Colors.green : Colors.orange,
fontWeight: isReady ? FontWeight.bold : FontWeight.normal,
),

View File

@@ -159,14 +159,14 @@ class _StatRow extends StatelessWidget {
Expanded(
child: Text(
label,
style: const TextStyle(fontSize: 11),
style: const TextStyle(fontSize: 16),
overflow: TextOverflow.ellipsis,
),
),
// 값
Text(
'$value',
style: const TextStyle(fontSize: 11, fontWeight: FontWeight.bold),
style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
),
// 변화량 표시
if (change != null) ...[
@@ -206,7 +206,7 @@ class _ChangeIndicator extends StatelessWidget {
Text(
text,
style: TextStyle(
fontSize: 10,
fontSize: 15,
color: color,
fontWeight: FontWeight.bold,
),

View File

@@ -182,7 +182,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingHoldToSpeedUp,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: Colors.white.withValues(alpha: 0.3),
),
textAlign: TextAlign.center,
@@ -208,7 +208,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'▶▶ x5',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: gold,
),
),
@@ -279,7 +279,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingCongratulations,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 14,
fontSize: 16,
color: gold,
letterSpacing: 2,
),
@@ -289,7 +289,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingGameComplete,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 14,
fontSize: 18,
color: textPrimary,
),
),
@@ -374,7 +374,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
asciiArt,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 8,
fontSize: 14,
color: gold,
height: 1.0,
),
@@ -389,7 +389,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'═══════════════════',
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: gold.withValues(alpha: 0.5),
),
),
@@ -398,7 +398,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
title,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 15,
color: gold,
letterSpacing: 2,
),
@@ -408,7 +408,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'═══════════════════',
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: gold.withValues(alpha: 0.5),
),
),
@@ -429,7 +429,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
widget.traits.name,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 16,
fontSize: 18,
color: gold,
),
),
@@ -439,7 +439,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingLevelFormat(widget.traits.level),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: textPrimary,
),
),
@@ -449,7 +449,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'${GameDataL10n.getKlassName(context, widget.traits.klass)}',
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: textMuted,
),
),
@@ -511,7 +511,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
'$label: ',
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: labelColor.withValues(alpha: 0.7),
),
),
@@ -519,7 +519,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
value,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: valueColor,
),
),
@@ -565,7 +565,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
label,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 10,
fontSize: 15,
color: color.withValues(alpha: 0.5),
),
),
@@ -574,7 +574,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
value,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 15,
color: color,
),
),
@@ -599,7 +599,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
trophy,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: gold,
height: 1.0,
),
@@ -619,7 +619,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.appTitle,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 15,
color: gold,
),
),
@@ -628,7 +628,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingThankYou,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: textPrimary,
),
),
@@ -637,7 +637,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingLegendLivesOn,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 10,
fontSize: 15,
color: textMuted,
fontStyle: FontStyle.italic,
),
@@ -661,7 +661,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
theEnd,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 8,
fontSize: 14,
color: gold,
height: 1.0,
),
@@ -682,7 +682,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingHallOfFameLine1,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: gold.withValues(alpha: 0.7),
),
),
@@ -691,7 +691,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingHallOfFameLine2,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 12,
fontSize: 17,
color: gold.withValues(alpha: 0.7),
),
),
@@ -720,7 +720,7 @@ class _VictoryOverlayState extends State<VictoryOverlay>
l10n.endingHallOfFameButton,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
),
),
],

View File

@@ -81,7 +81,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofVictory.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 11,
color: goldColor,
),
),
@@ -99,7 +99,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofDefeatedGlitchGod,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 11,
color: RetroColors.textPrimaryOf(context),
),
textAlign: TextAlign.center,
@@ -112,7 +112,7 @@ class GameClearDialog extends StatelessWidget {
entry.characterName,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 11,
color: goldColor,
),
),
@@ -122,7 +122,7 @@ class GameClearDialog extends StatelessWidget {
'${GameDataL10n.getKlassName(context, entry.klass)}',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -156,7 +156,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofLegendEnshrined,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
fontStyle: FontStyle.italic,
color: goldColor,
),
@@ -184,7 +184,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofViewHallOfFame.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -205,7 +205,7 @@ class GameClearDialog extends StatelessWidget {
l10n.hofNewGame.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: RetroColors.backgroundOf(context),
),
),
@@ -235,7 +235,7 @@ class GameClearDialog extends StatelessWidget {
value,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 11,
color: goldColor,
),
),
@@ -244,7 +244,7 @@ class GameClearDialog extends StatelessWidget {
label,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 11,
color: RetroColors.textMutedOf(context),
),
),

View File

@@ -63,7 +63,7 @@ class HallOfFameEntryCard extends StatelessWidget {
style: TextStyle(
fontFamily: 'PressStart2P',
color: rankColor,
fontSize: 10,
fontSize: 13,
),
),
),
@@ -82,7 +82,7 @@ class HallOfFameEntryCard extends StatelessWidget {
entry.characterName,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.goldOf(context),
),
overflow: TextOverflow.ellipsis,
@@ -108,7 +108,7 @@ class HallOfFameEntryCard extends StatelessWidget {
style: TextStyle(
fontFamily: 'PressStart2P',
color: RetroColors.mpOf(context),
fontSize: 6,
fontSize: 11,
),
),
),
@@ -121,7 +121,7 @@ class HallOfFameEntryCard extends StatelessWidget {
'${GameDataL10n.getKlassName(context, entry.klass)}',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 11,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -168,7 +168,7 @@ class HallOfFameEntryCard extends StatelessWidget {
entry.formattedClearedDate,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 11,
color: RetroColors.textMutedOf(context),
),
),
@@ -227,7 +227,7 @@ class HallOfFameEntryCard extends StatelessWidget {
value,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 11,
color: color,
),
),

View File

@@ -51,7 +51,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
l10n.uiHallOfFame.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: RetroColors.goldOf(context),
),
),
@@ -96,7 +96,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
l10n.hofNoHeroes.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -105,7 +105,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
l10n.hofDefeatGlitchGod,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 12,
color: RetroColors.textMutedOf(context),
),
textAlign: TextAlign.center,
@@ -149,7 +149,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
style: TextStyle(
fontFamily: 'PressStart2P',
color: goldColor,
fontSize: 10,
fontSize: 14,
letterSpacing: 1,
),
),
@@ -192,7 +192,10 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
Text(
'${entry.characterName} (Lv.${entry.level})\n'
'${l10n.uiConfirmDelete}',
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 7),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
),
textAlign: TextAlign.center,
),
const SizedBox(height: 16),
@@ -238,7 +241,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
SnackBar(
content: Text(
l10n.uiDeleted,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6),
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
),
backgroundColor: RetroColors.mpOf(context),
duration: const Duration(seconds: 2),
@@ -252,7 +255,7 @@ class _HallOfFameScreenState extends State<HallOfFameScreen> {
SnackBar(
content: Text(
l10n.uiError,
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 6),
style: const TextStyle(fontFamily: 'PressStart2P', fontSize: 11),
),
backgroundColor: RetroColors.hpOf(context),
duration: const Duration(seconds: 2),

View File

@@ -35,7 +35,7 @@ class HeroDetailDialog extends StatelessWidget {
'Lv.${entry.level}',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 10,
color: RetroColors.textSecondaryOf(context),
),
),
@@ -119,7 +119,7 @@ class HeroDetailDialog extends StatelessWidget {
title.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 7,
fontSize: 10,
color: goldColor,
),
),
@@ -333,7 +333,7 @@ class HeroDetailDialog extends StatelessWidget {
'$label ',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 10,
color: color,
),
),
@@ -341,7 +341,7 @@ class HeroDetailDialog extends StatelessWidget {
value,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 10,
color: color,
),
),
@@ -376,7 +376,7 @@ class HeroDetailDialog extends StatelessWidget {
value,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 10,
color: goldColor,
),
),
@@ -384,7 +384,7 @@ class HeroDetailDialog extends StatelessWidget {
label,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 4,
fontSize: 10,
color: RetroColors.textMutedOf(context),
),
),
@@ -441,7 +441,7 @@ class HeroDetailDialog extends StatelessWidget {
slotLabel,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 10,
color: mutedColor,
),
),
@@ -462,7 +462,7 @@ class HeroDetailDialog extends StatelessWidget {
_getRarityLabel(item.rarity),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 4,
fontSize: 10,
color: rarityColor,
),
),
@@ -475,7 +475,7 @@ class HeroDetailDialog extends StatelessWidget {
translatedName,
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 10,
color: rarityColor,
),
),
@@ -561,7 +561,7 @@ class HeroDetailDialog extends StatelessWidget {
'$label $value',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 10,
color: color,
),
),
@@ -651,7 +651,7 @@ class HeroDetailDialog extends StatelessWidget {
l10n.hofNoSkills.toUpperCase(),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 6,
fontSize: 10,
color: RetroColors.textMutedOf(context),
),
),
@@ -679,7 +679,7 @@ class HeroDetailDialog extends StatelessWidget {
'$translatedName $rank',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 5,
fontSize: 10,
color: skillColor.shade400,
),
),

View File

@@ -279,7 +279,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
L10n.of(context).newCharacterTitle.toUpperCase(),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 15,
color: RetroColors.gold,
),
),
@@ -367,7 +367,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
'DEBUG: TURBO MODE (20x)',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: _cheatsEnabled
? RetroColors.hpRed
: RetroColors.textDisabled,
@@ -396,7 +396,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
controller: _nameController,
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 10,
fontSize: 14,
color: RetroColors.textLight,
),
// 영문 알파벳만 허용 (공백 불가)
@@ -407,7 +407,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
labelText: l10n.name,
labelStyle: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.gold,
),
border: const OutlineInputBorder(
@@ -470,7 +470,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
l10n.total.toUpperCase(),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
fontWeight: FontWeight.bold,
color: RetroColors.textLight,
),
@@ -479,7 +479,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
'$_total',
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 14,
fontSize: 16,
fontWeight: FontWeight.bold,
color: _getTotalColor(),
),
@@ -515,7 +515,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
game_l10n.uiRollHistory(_rollHistory.length),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.textDisabled,
),
),
@@ -540,7 +540,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
label.toUpperCase(),
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 13,
color: RetroColors.gold,
),
),
@@ -549,7 +549,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
'$value',
style: const TextStyle(
fontFamily: 'PressStart2P',
fontSize: 12,
fontSize: 17,
fontWeight: FontWeight.bold,
color: RetroColors.textLight,
),
@@ -598,7 +598,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
GameDataL10n.getRaceName(context, race.name),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 14,
color: isSelected
? RetroColors.gold
: RetroColors.textLight,
@@ -638,12 +638,15 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
if (statMods.isNotEmpty)
Text(
statMods.join(', '),
style: const TextStyle(fontSize: 9, color: RetroColors.textLight),
style: const TextStyle(
fontSize: 15,
color: RetroColors.textLight,
),
),
if (passiveDesc.isNotEmpty)
Text(
passiveDesc,
style: const TextStyle(fontSize: 9, color: RetroColors.expGreen),
style: const TextStyle(fontSize: 15, color: RetroColors.expGreen),
),
],
),
@@ -714,7 +717,7 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
GameDataL10n.getKlassName(context, klass.name),
style: TextStyle(
fontFamily: 'PressStart2P',
fontSize: 8,
fontSize: 14,
color: isSelected
? RetroColors.gold
: RetroColors.textLight,
@@ -754,12 +757,15 @@ class _NewCharacterScreenState extends State<NewCharacterScreen> {
if (statMods.isNotEmpty)
Text(
statMods.join(', '),
style: const TextStyle(fontSize: 9, color: RetroColors.textLight),
style: const TextStyle(
fontSize: 15,
color: RetroColors.textLight,
),
),
if (passiveDesc.isNotEmpty)
Text(
passiveDesc,
style: const TextStyle(fontSize: 9, color: RetroColors.expGreen),
style: const TextStyle(fontSize: 15, color: RetroColors.expGreen),
),
],
),

View File

@@ -110,7 +110,7 @@ class _RacePreviewState extends State<RacePreview> {
text: char,
style: TextStyle(
fontFamily: 'JetBrainsMono',
fontSize: 18,
fontSize: 22,
height: 1.2,
color: _getCharColor(char),
),

View File

@@ -361,7 +361,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
Text(
label,
style: TextStyle(
fontSize: 12,
fontSize: 17,
fontWeight: isSelected ? FontWeight.bold : FontWeight.normal,
color: isSelected
? theme.colorScheme.onPrimaryContainer