diff --git a/assets/medals/brasa.png b/assets/medals/brasa.png deleted file mode 100644 index 91f5618..0000000 Binary files a/assets/medals/brasa.png and /dev/null differ diff --git a/assets/medals/brasa.webp b/assets/medals/brasa.webp new file mode 100644 index 0000000..bef225f Binary files /dev/null and b/assets/medals/brasa.webp differ diff --git a/assets/medals/cincuenta_victorias.png b/assets/medals/cincuenta_victorias.png deleted file mode 100644 index 2bd4806..0000000 Binary files a/assets/medals/cincuenta_victorias.png and /dev/null differ diff --git a/assets/medals/cincuenta_victorias.webp b/assets/medals/cincuenta_victorias.webp new file mode 100644 index 0000000..81cac66 Binary files /dev/null and b/assets/medals/cincuenta_victorias.webp differ diff --git a/assets/medals/diez_victorias.png b/assets/medals/diez_victorias.png deleted file mode 100644 index 1bc51f2..0000000 Binary files a/assets/medals/diez_victorias.png and /dev/null differ diff --git a/assets/medals/diez_victorias.webp b/assets/medals/diez_victorias.webp new file mode 100644 index 0000000..2e97610 Binary files /dev/null and b/assets/medals/diez_victorias.webp differ diff --git a/assets/medals/habitual.png b/assets/medals/habitual.png deleted file mode 100644 index d8084c8..0000000 Binary files a/assets/medals/habitual.png and /dev/null differ diff --git a/assets/medals/habitual.webp b/assets/medals/habitual.webp new file mode 100644 index 0000000..1e899be Binary files /dev/null and b/assets/medals/habitual.webp differ diff --git a/assets/medals/impostor_habitual.png b/assets/medals/impostor_habitual.png deleted file mode 100644 index 99f12fd..0000000 Binary files a/assets/medals/impostor_habitual.png and /dev/null differ diff --git a/assets/medals/impostor_habitual.webp b/assets/medals/impostor_habitual.webp new file mode 100644 index 0000000..5b7c63a Binary files /dev/null and b/assets/medals/impostor_habitual.webp differ diff --git a/assets/medals/incandescente.png b/assets/medals/incandescente.png deleted file mode 100644 index faff4f0..0000000 Binary files a/assets/medals/incandescente.png and /dev/null differ diff --git a/assets/medals/incandescente.webp b/assets/medals/incandescente.webp new file mode 100644 index 0000000..e8d81f0 Binary files /dev/null and b/assets/medals/incandescente.webp differ diff --git a/assets/medals/leyenda.png b/assets/medals/leyenda.png deleted file mode 100644 index 41d402f..0000000 Binary files a/assets/medals/leyenda.png and /dev/null differ diff --git a/assets/medals/leyenda.webp b/assets/medals/leyenda.webp new file mode 100644 index 0000000..2bc866f Binary files /dev/null and b/assets/medals/leyenda.webp differ diff --git a/assets/medals/llama_fuerte.png b/assets/medals/llama_fuerte.png deleted file mode 100644 index 452d199..0000000 Binary files a/assets/medals/llama_fuerte.png and /dev/null differ diff --git a/assets/medals/llama_fuerte.webp b/assets/medals/llama_fuerte.webp new file mode 100644 index 0000000..0d48c08 Binary files /dev/null and b/assets/medals/llama_fuerte.webp differ diff --git a/assets/medals/llama_suave.png b/assets/medals/llama_suave.png deleted file mode 100644 index 68603c5..0000000 Binary files a/assets/medals/llama_suave.png and /dev/null differ diff --git a/assets/medals/llama_suave.webp b/assets/medals/llama_suave.webp new file mode 100644 index 0000000..9888d8f Binary files /dev/null and b/assets/medals/llama_suave.webp differ diff --git a/assets/medals/lobo_faroles.png b/assets/medals/lobo_faroles.png deleted file mode 100644 index 68fbaa2..0000000 Binary files a/assets/medals/lobo_faroles.png and /dev/null differ diff --git a/assets/medals/lobo_faroles.webp b/assets/medals/lobo_faroles.webp new file mode 100644 index 0000000..ff35156 Binary files /dev/null and b/assets/medals/lobo_faroles.webp differ diff --git a/assets/medals/novato.png b/assets/medals/novato.png deleted file mode 100644 index 08e5150..0000000 Binary files a/assets/medals/novato.png and /dev/null differ diff --git a/assets/medals/novato.webp b/assets/medals/novato.webp new file mode 100644 index 0000000..2adcd11 Binary files /dev/null and b/assets/medals/novato.webp differ diff --git a/assets/medals/primer_engano.png b/assets/medals/primer_engano.png deleted file mode 100644 index da98692..0000000 Binary files a/assets/medals/primer_engano.png and /dev/null differ diff --git a/assets/medals/primer_engano.webp b/assets/medals/primer_engano.webp new file mode 100644 index 0000000..247a6ec Binary files /dev/null and b/assets/medals/primer_engano.webp differ diff --git a/assets/medals/primera_victoria.png b/assets/medals/primera_victoria.png deleted file mode 100644 index 1c083e5..0000000 Binary files a/assets/medals/primera_victoria.png and /dev/null differ diff --git a/assets/medals/primera_victoria.webp b/assets/medals/primera_victoria.webp new file mode 100644 index 0000000..e659a60 Binary files /dev/null and b/assets/medals/primera_victoria.webp differ diff --git a/assets/medals/veinticinco_victorias.png b/assets/medals/veinticinco_victorias.png deleted file mode 100644 index dec3ea0..0000000 Binary files a/assets/medals/veinticinco_victorias.png and /dev/null differ diff --git a/assets/medals/veinticinco_victorias.webp b/assets/medals/veinticinco_victorias.webp new file mode 100644 index 0000000..0546205 Binary files /dev/null and b/assets/medals/veinticinco_victorias.webp differ diff --git a/assets/medals/veterano.png b/assets/medals/veterano.png deleted file mode 100644 index 194e557..0000000 Binary files a/assets/medals/veterano.png and /dev/null differ diff --git a/assets/medals/veterano.webp b/assets/medals/veterano.webp new file mode 100644 index 0000000..86721a4 Binary files /dev/null and b/assets/medals/veterano.webp differ diff --git a/assets/rewards/fire_progress_burst.png b/assets/rewards/fire_progress_burst.png deleted file mode 100644 index 02ada96..0000000 Binary files a/assets/rewards/fire_progress_burst.png and /dev/null differ diff --git a/assets/rewards/medal_unlock_burst.png b/assets/rewards/medal_unlock_burst.png deleted file mode 100644 index 81a4848..0000000 Binary files a/assets/rewards/medal_unlock_burst.png and /dev/null differ diff --git a/assets/rewards/medal_unlock_burst.webp b/assets/rewards/medal_unlock_burst.webp new file mode 100644 index 0000000..6be6277 Binary files /dev/null and b/assets/rewards/medal_unlock_burst.webp differ diff --git a/assets/rewards/reward_header_glow.png b/assets/rewards/reward_header_glow.png deleted file mode 100644 index 716eaed..0000000 Binary files a/assets/rewards/reward_header_glow.png and /dev/null differ diff --git a/assets/ui/generated/create_game/create_game_header_art.png b/assets/ui/generated/create_game/create_game_header_art.png deleted file mode 100644 index 87e47c9..0000000 Binary files a/assets/ui/generated/create_game/create_game_header_art.png and /dev/null differ diff --git a/assets/ui/generated/create_game/create_game_header_art.webp b/assets/ui/generated/create_game/create_game_header_art.webp new file mode 100644 index 0000000..e080ea4 Binary files /dev/null and b/assets/ui/generated/create_game/create_game_header_art.webp differ diff --git a/assets/ui/generated/create_game/create_game_header_art_source_chroma.png b/assets/ui/generated/create_game/create_game_header_art_source_chroma.png deleted file mode 100644 index 3ef93fe..0000000 Binary files a/assets/ui/generated/create_game/create_game_header_art_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/final_rewards/cinematic_burst.png b/assets/ui/generated/final_rewards/cinematic_burst.png deleted file mode 100644 index 8176eaf..0000000 Binary files a/assets/ui/generated/final_rewards/cinematic_burst.png and /dev/null differ diff --git a/assets/ui/generated/final_rewards/cinematic_burst.webp b/assets/ui/generated/final_rewards/cinematic_burst.webp new file mode 100644 index 0000000..a3db7b8 Binary files /dev/null and b/assets/ui/generated/final_rewards/cinematic_burst.webp differ diff --git a/assets/ui/generated/final_rewards/cinematic_burst_source_chroma.png b/assets/ui/generated/final_rewards/cinematic_burst_source_chroma.png deleted file mode 100644 index 0139fe9..0000000 Binary files a/assets/ui/generated/final_rewards/cinematic_burst_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/gameplay/gameplay_atmosphere_bg.png b/assets/ui/generated/gameplay/gameplay_atmosphere_bg.png deleted file mode 100644 index b6005c4..0000000 Binary files a/assets/ui/generated/gameplay/gameplay_atmosphere_bg.png and /dev/null differ diff --git a/assets/ui/generated/gameplay/gameplay_phase_emblem.png b/assets/ui/generated/gameplay/gameplay_phase_emblem.png deleted file mode 100644 index faa9f44..0000000 Binary files a/assets/ui/generated/gameplay/gameplay_phase_emblem.png and /dev/null differ diff --git a/assets/ui/generated/gameplay/gameplay_phase_emblem.webp b/assets/ui/generated/gameplay/gameplay_phase_emblem.webp new file mode 100644 index 0000000..ed5aebc Binary files /dev/null and b/assets/ui/generated/gameplay/gameplay_phase_emblem.webp differ diff --git a/assets/ui/generated/gameplay/notes_strategy_art.png b/assets/ui/generated/gameplay/notes_strategy_art.png deleted file mode 100644 index 29f444e..0000000 Binary files a/assets/ui/generated/gameplay/notes_strategy_art.png and /dev/null differ diff --git a/assets/ui/generated/gameplay/notes_strategy_art.webp b/assets/ui/generated/gameplay/notes_strategy_art.webp new file mode 100644 index 0000000..b6f903d Binary files /dev/null and b/assets/ui/generated/gameplay/notes_strategy_art.webp differ diff --git a/assets/ui/generated/join_lobby/qr_frame.png b/assets/ui/generated/join_lobby/qr_frame.png deleted file mode 100644 index f3f7812..0000000 Binary files a/assets/ui/generated/join_lobby/qr_frame.png and /dev/null differ diff --git a/assets/ui/generated/join_lobby/qr_frame.webp b/assets/ui/generated/join_lobby/qr_frame.webp new file mode 100644 index 0000000..5ea49d7 Binary files /dev/null and b/assets/ui/generated/join_lobby/qr_frame.webp differ diff --git a/assets/ui/generated/join_lobby/qr_frame_source_chroma.png b/assets/ui/generated/join_lobby/qr_frame_source_chroma.png deleted file mode 100644 index 58748a6..0000000 Binary files a/assets/ui/generated/join_lobby/qr_frame_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/join_lobby/signal_art.png b/assets/ui/generated/join_lobby/signal_art.png deleted file mode 100644 index 549f49e..0000000 Binary files a/assets/ui/generated/join_lobby/signal_art.png and /dev/null differ diff --git a/assets/ui/generated/join_lobby/signal_art.webp b/assets/ui/generated/join_lobby/signal_art.webp new file mode 100644 index 0000000..bbeaddb Binary files /dev/null and b/assets/ui/generated/join_lobby/signal_art.webp differ diff --git a/assets/ui/generated/join_lobby/signal_art_source_chroma.png b/assets/ui/generated/join_lobby/signal_art_source_chroma.png deleted file mode 100644 index 13f0efb..0000000 Binary files a/assets/ui/generated/join_lobby/signal_art_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/main/main_atmosphere_bg.png b/assets/ui/generated/main/main_atmosphere_bg.png deleted file mode 100644 index 99fb324..0000000 Binary files a/assets/ui/generated/main/main_atmosphere_bg.png and /dev/null differ diff --git a/assets/ui/generated/main/main_atmosphere_bg.webp b/assets/ui/generated/main/main_atmosphere_bg.webp new file mode 100644 index 0000000..f97cbd0 Binary files /dev/null and b/assets/ui/generated/main/main_atmosphere_bg.webp differ diff --git a/assets/ui/generated/main/main_cta_frame.png b/assets/ui/generated/main/main_cta_frame.png deleted file mode 100644 index c410c6d..0000000 Binary files a/assets/ui/generated/main/main_cta_frame.png and /dev/null differ diff --git a/assets/ui/generated/main/main_cta_frame.webp b/assets/ui/generated/main/main_cta_frame.webp new file mode 100644 index 0000000..0abdc84 Binary files /dev/null and b/assets/ui/generated/main/main_cta_frame.webp differ diff --git a/assets/ui/generated/main/main_cta_frame_source_chroma.png b/assets/ui/generated/main/main_cta_frame_source_chroma.png deleted file mode 100644 index 8045ad6..0000000 Binary files a/assets/ui/generated/main/main_cta_frame_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/main/main_lantern_hero.png b/assets/ui/generated/main/main_lantern_hero.png deleted file mode 100644 index 52163a5..0000000 Binary files a/assets/ui/generated/main/main_lantern_hero.png and /dev/null differ diff --git a/assets/ui/generated/main/main_lantern_hero.webp b/assets/ui/generated/main/main_lantern_hero.webp new file mode 100644 index 0000000..2078e64 Binary files /dev/null and b/assets/ui/generated/main/main_lantern_hero.webp differ diff --git a/assets/ui/generated/main/main_lantern_hero_source_chroma.png b/assets/ui/generated/main/main_lantern_hero_source_chroma.png deleted file mode 100644 index 53a20a9..0000000 Binary files a/assets/ui/generated/main/main_lantern_hero_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/meta/history_ledger_art.png b/assets/ui/generated/meta/history_ledger_art.png deleted file mode 100644 index e2355b8..0000000 Binary files a/assets/ui/generated/meta/history_ledger_art.png and /dev/null differ diff --git a/assets/ui/generated/meta/history_ledger_art.webp b/assets/ui/generated/meta/history_ledger_art.webp new file mode 100644 index 0000000..3fc0753 Binary files /dev/null and b/assets/ui/generated/meta/history_ledger_art.webp differ diff --git a/assets/ui/generated/meta/result_verdict_art.png b/assets/ui/generated/meta/result_verdict_art.png deleted file mode 100644 index 7b349ab..0000000 Binary files a/assets/ui/generated/meta/result_verdict_art.png and /dev/null differ diff --git a/assets/ui/generated/meta/result_verdict_art.webp b/assets/ui/generated/meta/result_verdict_art.webp new file mode 100644 index 0000000..35b04c5 Binary files /dev/null and b/assets/ui/generated/meta/result_verdict_art.webp differ diff --git a/assets/ui/generated/meta/settings_profile_art.png b/assets/ui/generated/meta/settings_profile_art.png deleted file mode 100644 index ade679f..0000000 Binary files a/assets/ui/generated/meta/settings_profile_art.png and /dev/null differ diff --git a/assets/ui/generated/meta/settings_profile_art.webp b/assets/ui/generated/meta/settings_profile_art.webp new file mode 100644 index 0000000..a6767c7 Binary files /dev/null and b/assets/ui/generated/meta/settings_profile_art.webp differ diff --git a/assets/ui/generated/mode/mode_duel_hero.png b/assets/ui/generated/mode/mode_duel_hero.png deleted file mode 100644 index bee2c09..0000000 Binary files a/assets/ui/generated/mode/mode_duel_hero.png and /dev/null differ diff --git a/assets/ui/generated/mode/mode_duel_hero.webp b/assets/ui/generated/mode/mode_duel_hero.webp new file mode 100644 index 0000000..d67680e Binary files /dev/null and b/assets/ui/generated/mode/mode_duel_hero.webp differ diff --git a/assets/ui/generated/mode/mode_duel_hero_source_chroma.png b/assets/ui/generated/mode/mode_duel_hero_source_chroma.png deleted file mode 100644 index 27d8b19..0000000 Binary files a/assets/ui/generated/mode/mode_duel_hero_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/mode/mode_multi_card_frame.png b/assets/ui/generated/mode/mode_multi_card_frame.png deleted file mode 100644 index cd68772..0000000 Binary files a/assets/ui/generated/mode/mode_multi_card_frame.png and /dev/null differ diff --git a/assets/ui/generated/mode/mode_multi_card_frame.webp b/assets/ui/generated/mode/mode_multi_card_frame.webp new file mode 100644 index 0000000..5634f04 Binary files /dev/null and b/assets/ui/generated/mode/mode_multi_card_frame.webp differ diff --git a/assets/ui/generated/mode/mode_multi_card_frame_source_chroma.png b/assets/ui/generated/mode/mode_multi_card_frame_source_chroma.png deleted file mode 100644 index bc6eecb..0000000 Binary files a/assets/ui/generated/mode/mode_multi_card_frame_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/mode/mode_single_card_frame.png b/assets/ui/generated/mode/mode_single_card_frame.png deleted file mode 100644 index 6757625..0000000 Binary files a/assets/ui/generated/mode/mode_single_card_frame.png and /dev/null differ diff --git a/assets/ui/generated/mode/mode_single_card_frame.webp b/assets/ui/generated/mode/mode_single_card_frame.webp new file mode 100644 index 0000000..255b6dd Binary files /dev/null and b/assets/ui/generated/mode/mode_single_card_frame.webp differ diff --git a/assets/ui/generated/mode/mode_single_card_frame_source_chroma.png b/assets/ui/generated/mode/mode_single_card_frame_source_chroma.png deleted file mode 100644 index e84f71a..0000000 Binary files a/assets/ui/generated/mode/mode_single_card_frame_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/shared/glass_panel_frame.png b/assets/ui/generated/shared/glass_panel_frame.png deleted file mode 100644 index 393b162..0000000 Binary files a/assets/ui/generated/shared/glass_panel_frame.png and /dev/null differ diff --git a/assets/ui/generated/shared/glass_panel_frame_source_chroma.png b/assets/ui/generated/shared/glass_panel_frame_source_chroma.png deleted file mode 100644 index 1cb0513..0000000 Binary files a/assets/ui/generated/shared/glass_panel_frame_source_chroma.png and /dev/null differ diff --git a/assets/ui/generated/shared/screen_atmosphere_bg.webp b/assets/ui/generated/shared/screen_atmosphere_bg.webp new file mode 100644 index 0000000..8f93c57 Binary files /dev/null and b/assets/ui/generated/shared/screen_atmosphere_bg.webp differ diff --git a/lib/modelos/gamificacion_usuario.dart b/lib/modelos/gamificacion_usuario.dart index b9b471e..660c87d 100644 --- a/lib/modelos/gamificacion_usuario.dart +++ b/lib/modelos/gamificacion_usuario.dart @@ -76,21 +76,21 @@ class EstadisticasPerfilUsuario { }); static const catalogoMedallas = { - 'novato': MedallaUsuario(id: 'novato', emoji: '🎲', assetPath: 'assets/medals/novato.png', nombre: 'Novato', descripcion: 'Jugó su primera partida.'), - 'habitual': MedallaUsuario(id: 'habitual', emoji: '🧭', assetPath: 'assets/medals/habitual.png', nombre: 'Habitual', descripcion: 'Jugó 10 partidas.'), - 'veterano': MedallaUsuario(id: 'veterano', emoji: '🏛️', assetPath: 'assets/medals/veterano.png', nombre: 'Veterano', descripcion: 'Jugó 50 partidas.'), - 'leyenda': MedallaUsuario(id: 'leyenda', emoji: '👑', assetPath: 'assets/medals/leyenda.png', nombre: 'Leyenda', descripcion: 'Jugó 100 partidas.'), - 'primera_victoria': MedallaUsuario(id: 'primera_victoria', emoji: '🥉', assetPath: 'assets/medals/primera_victoria.png', nombre: 'Primera victoria', descripcion: 'Ganó una partida.'), - 'diez_victorias': MedallaUsuario(id: 'diez_victorias', emoji: '🥈', assetPath: 'assets/medals/diez_victorias.png', nombre: 'Diez victorias', descripcion: 'Ganó 10 partidas.'), - 'veinticinco_victorias': MedallaUsuario(id: 'veinticinco_victorias', emoji: '🥇', assetPath: 'assets/medals/veinticinco_victorias.png', nombre: 'Veinticinco victorias', descripcion: 'Ganó 25 partidas.'), - 'cincuenta_victorias': MedallaUsuario(id: 'cincuenta_victorias', emoji: '💎', assetPath: 'assets/medals/cincuenta_victorias.png', nombre: 'Cincuenta victorias', descripcion: 'Ganó 50 partidas.'), - 'primer_engano': MedallaUsuario(id: 'primer_engano', emoji: '🎭', assetPath: 'assets/medals/primer_engano.png', nombre: 'Primer engaño', descripcion: 'Ganó como impostor.'), - 'impostor_habitual': MedallaUsuario(id: 'impostor_habitual', emoji: '🃏', assetPath: 'assets/medals/impostor_habitual.png', nombre: 'Impostor habitual', descripcion: 'Ganó 5 partidas como impostor.'), - 'lobo_faroles': MedallaUsuario(id: 'lobo_faroles', emoji: '🐺', assetPath: 'assets/medals/lobo_faroles.png', nombre: 'Lobo entre faroles', descripcion: 'Ganó 15 partidas como impostor.'), - 'brasa': MedallaUsuario(id: 'brasa', emoji: '♨️', assetPath: 'assets/medals/brasa.png', nombre: 'Brasa', descripcion: 'Mantiene algo de fuego reciente.'), - 'llama_suave': MedallaUsuario(id: 'llama_suave', emoji: '🔥', assetPath: 'assets/medals/llama_suave.png', nombre: 'Llama suave', descripcion: 'Está jugando con cierta asiduidad.'), - 'llama_fuerte': MedallaUsuario(id: 'llama_fuerte', emoji: '🔥', assetPath: 'assets/medals/llama_fuerte.png', nombre: 'Llama fuerte', descripcion: 'Tiene una asiduidad alta.'), - 'incandescente': MedallaUsuario(id: 'incandescente', emoji: '🌋', assetPath: 'assets/medals/incandescente.png', nombre: 'Incandescente', descripcion: 'Tiene el fuego al máximo.'), + 'novato': MedallaUsuario(id: 'novato', emoji: '🎲', assetPath: 'assets/medals/novato.webp', nombre: 'Novato', descripcion: 'Jugó su primera partida.'), + 'habitual': MedallaUsuario(id: 'habitual', emoji: '🧭', assetPath: 'assets/medals/habitual.webp', nombre: 'Habitual', descripcion: 'Jugó 10 partidas.'), + 'veterano': MedallaUsuario(id: 'veterano', emoji: '🏛️', assetPath: 'assets/medals/veterano.webp', nombre: 'Veterano', descripcion: 'Jugó 50 partidas.'), + 'leyenda': MedallaUsuario(id: 'leyenda', emoji: '👑', assetPath: 'assets/medals/leyenda.webp', nombre: 'Leyenda', descripcion: 'Jugó 100 partidas.'), + 'primera_victoria': MedallaUsuario(id: 'primera_victoria', emoji: '🥉', assetPath: 'assets/medals/primera_victoria.webp', nombre: 'Primera victoria', descripcion: 'Ganó una partida.'), + 'diez_victorias': MedallaUsuario(id: 'diez_victorias', emoji: '🥈', assetPath: 'assets/medals/diez_victorias.webp', nombre: 'Diez victorias', descripcion: 'Ganó 10 partidas.'), + 'veinticinco_victorias': MedallaUsuario(id: 'veinticinco_victorias', emoji: '🥇', assetPath: 'assets/medals/veinticinco_victorias.webp', nombre: 'Veinticinco victorias', descripcion: 'Ganó 25 partidas.'), + 'cincuenta_victorias': MedallaUsuario(id: 'cincuenta_victorias', emoji: '💎', assetPath: 'assets/medals/cincuenta_victorias.webp', nombre: 'Cincuenta victorias', descripcion: 'Ganó 50 partidas.'), + 'primer_engano': MedallaUsuario(id: 'primer_engano', emoji: '🎭', assetPath: 'assets/medals/primer_engano.webp', nombre: 'Primer engaño', descripcion: 'Ganó como impostor.'), + 'impostor_habitual': MedallaUsuario(id: 'impostor_habitual', emoji: '🃏', assetPath: 'assets/medals/impostor_habitual.webp', nombre: 'Impostor habitual', descripcion: 'Ganó 5 partidas como impostor.'), + 'lobo_faroles': MedallaUsuario(id: 'lobo_faroles', emoji: '🐺', assetPath: 'assets/medals/lobo_faroles.webp', nombre: 'Lobo entre faroles', descripcion: 'Ganó 15 partidas como impostor.'), + 'brasa': MedallaUsuario(id: 'brasa', emoji: '♨️', assetPath: 'assets/medals/brasa.webp', nombre: 'Brasa', descripcion: 'Mantiene algo de fuego reciente.'), + 'llama_suave': MedallaUsuario(id: 'llama_suave', emoji: '🔥', assetPath: 'assets/medals/llama_suave.webp', nombre: 'Llama suave', descripcion: 'Está jugando con cierta asiduidad.'), + 'llama_fuerte': MedallaUsuario(id: 'llama_fuerte', emoji: '🔥', assetPath: 'assets/medals/llama_fuerte.webp', nombre: 'Llama fuerte', descripcion: 'Tiene una asiduidad alta.'), + 'incandescente': MedallaUsuario(id: 'incandescente', emoji: '🌋', assetPath: 'assets/medals/incandescente.webp', nombre: 'Incandescente', descripcion: 'Tiene el fuego al máximo.'), }; EstadisticasPerfilUsuario copiar({ diff --git a/lib/pantallas/pantalla_adivinanza.dart b/lib/pantallas/pantalla_adivinanza.dart index 3eb9bf7..07dae38 100644 --- a/lib/pantallas/pantalla_adivinanza.dart +++ b/lib/pantallas/pantalla_adivinanza.dart @@ -58,7 +58,7 @@ class _PantallaAdivinanzaState extends State { subtitulo: l10n.ifCorrectImpostorsWin, color: TemaApp.colorAcento, trailing: Image.asset( - 'assets/ui/premium/vote_danger_glow.png', + 'assets/ui/generated/meta/result_verdict_art.webp', width: 42, height: 42, opacity: const AlwaysStoppedAnimation(0.64), diff --git a/lib/pantallas/pantalla_crear_partida.dart b/lib/pantallas/pantalla_crear_partida.dart index b79d241..1910cd8 100644 --- a/lib/pantallas/pantalla_crear_partida.dart +++ b/lib/pantallas/pantalla_crear_partida.dart @@ -644,7 +644,7 @@ class _CrearPartidaHeader extends StatelessWidget { AspectRatio( aspectRatio: 2, child: Image.asset( - 'assets/ui/generated/create_game/create_game_header_art.png', + 'assets/ui/generated/create_game/create_game_header_art.webp', fit: BoxFit.contain, opacity: const AlwaysStoppedAnimation(0.96), ), diff --git a/lib/pantallas/pantalla_debate.dart b/lib/pantallas/pantalla_debate.dart index 85d5439..dda0ab7 100644 --- a/lib/pantallas/pantalla_debate.dart +++ b/lib/pantallas/pantalla_debate.dart @@ -103,7 +103,7 @@ class _PantallaDebateState extends State { children: [ Positioned.fill( child: Image.asset( - 'assets/ui/premium/timer_ring_glow.png', + 'assets/ui/generated/gameplay/gameplay_phase_emblem.webp', fit: BoxFit.contain, opacity: const AlwaysStoppedAnimation(0.36), ), diff --git a/lib/pantallas/pantalla_debate_cliente.dart b/lib/pantallas/pantalla_debate_cliente.dart index 853e0ee..7b1b121 100644 --- a/lib/pantallas/pantalla_debate_cliente.dart +++ b/lib/pantallas/pantalla_debate_cliente.dart @@ -183,7 +183,7 @@ class _PantallaDebateClienteState extends State { children: [ Positioned.fill( child: Image.asset( - 'assets/ui/premium/timer_ring_glow.png', + 'assets/ui/generated/gameplay/gameplay_phase_emblem.webp', fit: BoxFit.contain, opacity: const AlwaysStoppedAnimation(0.42), ), diff --git a/lib/pantallas/pantalla_fin_partida.dart b/lib/pantallas/pantalla_fin_partida.dart index 8d5e2d0..6aa4821 100644 --- a/lib/pantallas/pantalla_fin_partida.dart +++ b/lib/pantallas/pantalla_fin_partida.dart @@ -125,51 +125,49 @@ class _PantallaFinPartidaState extends State { ? TemaApp.colorVerde : TemaApp.colorAcento, ), - Transform.translate( - offset: const Offset(0, -18), - child: Column( - children: [ - if (_progreso == null) - const _TarjetaRecompensaCargando() - else - _TarjetaProgresoGamificacion(progreso: _progreso!), - const SizedBox(height: 18), - _TarjetaSecreto( - palabra: partida.palabraSecreta, - categoria: BancoPalabras.nombreBonitoCategoria( - partida.categoriaReal, - l10n, - ), + const SizedBox(height: 12), + Column( + children: [ + if (_progreso == null) + const _TarjetaRecompensaCargando() + else + _TarjetaProgresoGamificacion(progreso: _progreso!), + const SizedBox(height: 18), + _TarjetaSecreto( + palabra: partida.palabraSecreta, + categoria: BancoPalabras.nombreBonitoCategoria( + partida.categoriaReal, + l10n, ), - const SizedBox(height: 18), - _TarjetaImpostores( - titulo: impostores.length == 1 - ? l10n.theImpostorWas - : l10n.theImpostorsWere, - impostores: impostores, - ), - const SizedBox(height: 18), - if (partida.historialVotaciones.isNotEmpty) - _TarjetaHistorialVotos(partida: partida, l10n: l10n), - const SizedBox(height: 24), - _BotonesFinPartida( - estado: estado, - onPrincipal: () async { - await context.read().desconectar(); - estado.limpiar(); - if (!context.mounted) return; - Navigator.pushAndRemoveUntil( - context, - MaterialPageRoute( - builder: (_) => const PantallaPrincipal(), - ), - (route) => false, - ); - }, - ), - const SizedBox(height: 16), - ], - ), + ), + const SizedBox(height: 18), + _TarjetaImpostores( + titulo: impostores.length == 1 + ? l10n.theImpostorWas + : l10n.theImpostorsWere, + impostores: impostores, + ), + const SizedBox(height: 18), + if (partida.historialVotaciones.isNotEmpty) + _TarjetaHistorialVotos(partida: partida, l10n: l10n), + const SizedBox(height: 24), + _BotonesFinPartida( + estado: estado, + onPrincipal: () async { + await context.read().desconectar(); + estado.limpiar(); + if (!context.mounted) return; + Navigator.pushAndRemoveUntil( + context, + MaterialPageRoute( + builder: (_) => const PantallaPrincipal(), + ), + (route) => false, + ); + }, + ), + const SizedBox(height: 16), + ], ), ], ), @@ -231,7 +229,7 @@ class _HeroResultado extends StatelessWidget { alignment: Alignment.center, children: [ SizedBox( - height: 420, + height: 548, width: double.infinity, child: CustomPaint(painter: _HeroCinematicoPainter(color: color)), ), @@ -267,7 +265,7 @@ class _HeroResultado extends StatelessWidget { alignment: Alignment.center, children: [ Image.asset( - 'assets/ui/generated/final_rewards/cinematic_burst.png', + 'assets/ui/generated/final_rewards/cinematic_burst.webp', width: 260, height: 260, fit: BoxFit.contain, @@ -310,17 +308,22 @@ class _HeroResultado extends StatelessWidget { ) .shimmer(delay: 700.ms, duration: 1500.ms), const SizedBox(height: 12), - Text( - '$apertura$tituloLimpio!', - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.headlineMedium?.copyWith( - color: color, - fontSize: 34, - fontWeight: FontWeight.w900, - letterSpacing: 1.2, - shadows: [ - Shadow(color: color.withValues(alpha: 0.90), blurRadius: 24), - ], + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Text( + '$apertura$tituloLimpio!', + maxLines: 2, + overflow: TextOverflow.ellipsis, + textAlign: TextAlign.center, + style: Theme.of(context).textTheme.headlineMedium?.copyWith( + color: color, + fontSize: 32, + fontWeight: FontWeight.w900, + letterSpacing: 1.0, + shadows: [ + Shadow(color: color.withValues(alpha: 0.90), blurRadius: 24), + ], + ), ), ).animate().fadeIn(delay: 180.ms).slideY(begin: 0.25), ], @@ -730,7 +733,7 @@ class _MedallaDesbloqueada extends StatelessWidget { alignment: Alignment.center, children: [ Image.asset( - 'assets/rewards/medal_unlock_burst.png', + 'assets/rewards/medal_unlock_burst.webp', width: 82, height: 82, fit: BoxFit.cover, @@ -943,30 +946,22 @@ class _BotonesFinPartida extends StatelessWidget { final l10n = AppLocalizations.of(context)!; return Column( children: [ - SizedBox( - width: double.infinity, - height: 56, - child: ElevatedButton.icon( - onPressed: () { - estado.revancha(); - Navigator.pushReplacement( - context, - MaterialPageRoute(builder: (_) => const PantallaVerPalabra()), - ); - }, - icon: const Icon(Icons.replay), - label: Text(l10n.rematch), - ), + BotonFarolero( + texto: l10n.rematch, + icono: Icons.replay, + onPressed: () { + estado.revancha(); + Navigator.pushReplacement( + context, + MaterialPageRoute(builder: (_) => const PantallaVerPalabra()), + ); + }, ), const SizedBox(height: 12), - SizedBox( - width: double.infinity, - height: 56, - child: OutlinedButton.icon( - onPressed: onPrincipal, - icon: const Icon(Icons.home), - label: Text(l10n.mainMenu), - ), + BotonFarolero.oscuro( + texto: l10n.mainMenu, + icono: Icons.home, + onPressed: onPrincipal, ), ], ); diff --git a/lib/pantallas/pantalla_fin_partida_online.dart b/lib/pantallas/pantalla_fin_partida_online.dart index 7ad4c99..6334c36 100644 --- a/lib/pantallas/pantalla_fin_partida_online.dart +++ b/lib/pantallas/pantalla_fin_partida_online.dart @@ -209,24 +209,20 @@ class _PantallaFinPartidaOnlineState extends State { ), ), const SizedBox(height: 24), - SizedBox( - width: double.infinity, - height: 56, - child: OutlinedButton.icon( - onPressed: () async { - await context.read().desconectar(); - if (!context.mounted) return; - Navigator.pushAndRemoveUntil( - context, - MaterialPageRoute( - builder: (_) => const PantallaPrincipal(), - ), - (route) => false, - ); - }, - icon: const Icon(Icons.home), - label: Text(l10n.mainMenu), - ), + BotonFarolero.oscuro( + texto: l10n.mainMenu, + icono: Icons.home, + onPressed: () async { + await context.read().desconectar(); + if (!context.mounted) return; + Navigator.pushAndRemoveUntil( + context, + MaterialPageRoute( + builder: (_) => const PantallaPrincipal(), + ), + (route) => false, + ); + }, ), ], ), @@ -277,7 +273,7 @@ class _ResultadoOnlineHero extends StatelessWidget { child: Column( children: [ Image.asset( - 'assets/ui/generated/final_rewards/cinematic_burst.png', + 'assets/ui/generated/final_rewards/cinematic_burst.webp', height: 250, fit: BoxFit.contain, opacity: const AlwaysStoppedAnimation(0.95), diff --git a/lib/pantallas/pantalla_lobby_host.dart b/lib/pantallas/pantalla_lobby_host.dart index 54b25a0..cdbb414 100644 --- a/lib/pantallas/pantalla_lobby_host.dart +++ b/lib/pantallas/pantalla_lobby_host.dart @@ -80,7 +80,7 @@ class _PantallaLobbyHostState extends State { Positioned.fill( child: IgnorePointer( child: Image.asset( - 'assets/ui/generated/join_lobby/qr_frame.png', + 'assets/ui/generated/join_lobby/qr_frame.webp', fit: BoxFit.contain, ), ), @@ -418,7 +418,7 @@ class _LobbySignalArt extends StatelessWidget { height: 104, width: double.infinity, child: Image.asset( - 'assets/ui/generated/join_lobby/signal_art.png', + 'assets/ui/generated/join_lobby/signal_art.webp', fit: BoxFit.contain, opacity: const AlwaysStoppedAnimation(0.90), ), diff --git a/lib/pantallas/pantalla_principal.dart b/lib/pantallas/pantalla_principal.dart index d32f137..ae79a51 100644 --- a/lib/pantallas/pantalla_principal.dart +++ b/lib/pantallas/pantalla_principal.dart @@ -31,7 +31,7 @@ class PantallaPrincipal extends StatelessWidget { children: [ Positioned.fill( child: Image.asset( - 'assets/ui/generated/main/main_atmosphere_bg.png', + 'assets/ui/generated/main/main_atmosphere_bg.webp', fit: BoxFit.cover, alignment: Alignment.center, ), @@ -291,16 +291,16 @@ class _HeroInicioPremium extends StatelessWidget { children: [ Positioned.fill( child: Image.asset( - 'assets/ui/premium/lantern_radial_glow.png', + 'assets/ui/generated/main/main_lantern_hero.webp', fit: BoxFit.contain, - opacity: const AlwaysStoppedAnimation(0.48), + opacity: const AlwaysStoppedAnimation(0.18), ), ), Column( mainAxisSize: MainAxisSize.min, children: [ Image.asset( - 'assets/ui/generated/main/main_lantern_hero.png', + 'assets/ui/generated/main/main_lantern_hero.webp', width: heroSize, height: heroSize, fit: BoxFit.contain, @@ -455,7 +455,7 @@ class _BotonInicioPremium extends StatelessWidget { children: [ Positioned.fill( child: Image.asset( - 'assets/ui/premium/card_sheen_overlay.png', + 'assets/ui/generated/main/main_cta_frame.webp', fit: BoxFit.cover, opacity: AlwaysStoppedAnimation(hero ? 0.20 : 0.14), ), diff --git a/lib/pantallas/pantalla_resultado.dart b/lib/pantallas/pantalla_resultado.dart index 327e0e5..26eb433 100644 --- a/lib/pantallas/pantalla_resultado.dart +++ b/lib/pantallas/pantalla_resultado.dart @@ -283,68 +283,50 @@ class _PantallaResultadoState extends State final partida = estado.partida; if (partida == null) return const SizedBox.shrink(); - // Comprobar si la partida terminó final finPartida = estado.comprobarFinPartida(); if (finPartida) { - return SizedBox( - width: double.infinity, - height: 56, - child: ElevatedButton.icon( - onPressed: () { - Navigator.pushReplacement( - context, - MaterialPageRoute(builder: (_) => const PantallaFinPartida()), - ); - }, - icon: const Icon(Icons.emoji_events), - label: Text(l10n.seeEndResult), - ), + return BotonFarolero( + texto: l10n.seeEndResult, + icono: Icons.emoji_events, + onPressed: () { + Navigator.pushReplacement( + context, + MaterialPageRoute(builder: (_) => const PantallaFinPartida()), + ); + }, ); } - // Si era impostor, puede intentar adivinar if (widget.resultado.eraImpostor) { return Column( children: [ - SizedBox( - width: double.infinity, - height: 56, - child: OutlinedButton.icon( - onPressed: () { - Navigator.pushReplacement( - context, - MaterialPageRoute( - builder: (_) => const PantallaAdivinanza(), - ), - ); - }, - icon: const Text('🎯', style: TextStyle(fontSize: 18)), - label: Text(l10n.impostorGuessWord), - ), + BotonFarolero.oscuro( + texto: l10n.impostorGuessWord, + icono: Icons.gps_fixed, + onPressed: () { + Navigator.pushReplacement( + context, + MaterialPageRoute( + builder: (_) => const PantallaAdivinanza(), + ), + ); + }, ), const SizedBox(height: 12), - SizedBox( - width: double.infinity, - height: 56, - child: ElevatedButton.icon( - onPressed: () => _siguienteRonda(context, estado), - icon: const Icon(Icons.skip_next), - label: Text(l10n.nextRound), - ), + BotonFarolero( + texto: l10n.nextRound, + icono: Icons.skip_next, + onPressed: () => _siguienteRonda(context, estado), ), ], ); } - return SizedBox( - width: double.infinity, - height: 56, - child: ElevatedButton.icon( - onPressed: () => _siguienteRonda(context, estado), - icon: const Icon(Icons.skip_next), - label: Text(l10n.nextRound), - ), + return BotonFarolero( + texto: l10n.nextRound, + icono: Icons.skip_next, + onPressed: () => _siguienteRonda(context, estado), ); } diff --git a/lib/pantallas/pantalla_seleccion_modo_juego.dart b/lib/pantallas/pantalla_seleccion_modo_juego.dart index ca959aa..ed910a6 100644 --- a/lib/pantallas/pantalla_seleccion_modo_juego.dart +++ b/lib/pantallas/pantalla_seleccion_modo_juego.dart @@ -33,7 +33,7 @@ class PantallaSeleccionModoJuego extends StatelessWidget { ).animate().fadeIn(duration: 320.ms).slideY(begin: -0.12), const SizedBox(height: 34), _ModoCard( - marcoAsset: 'assets/ui/generated/mode/mode_single_card_frame.png', + marcoAsset: 'assets/ui/generated/mode/mode_single_card_frame.webp', icono: Icons.phone_android_rounded, titulo: l10n.singleDevice, subtitulo: l10n.singleDeviceSubtitle, @@ -50,7 +50,7 @@ class PantallaSeleccionModoJuego extends StatelessWidget { ).animate().fadeIn(delay: 120.ms).slideX(begin: -0.08), const SizedBox(height: 16), _ModoCard( - marcoAsset: 'assets/ui/generated/mode/mode_multi_card_frame.png', + marcoAsset: 'assets/ui/generated/mode/mode_multi_card_frame.webp', icono: Icons.devices_rounded, titulo: l10n.multiDevice, subtitulo: l10n.multiDeviceSubtitle, @@ -93,7 +93,7 @@ class _ModoHero extends StatelessWidget { SizedBox( height: 230, child: Image.asset( - 'assets/ui/generated/mode/mode_duel_hero.png', + 'assets/ui/generated/mode/mode_duel_hero.webp', fit: BoxFit.contain, opacity: const AlwaysStoppedAnimation(0.95), ), @@ -186,13 +186,6 @@ class _ModoCard extends StatelessWidget { opacity: AlwaysStoppedAnimation(destacado ? 0.22 : 0.18), ), ), - Positioned.fill( - child: Image.asset( - 'assets/ui/premium/card_sheen_overlay.png', - fit: BoxFit.cover, - opacity: AlwaysStoppedAnimation(destacado ? 0.28 : 0.18), - ), - ), Padding( padding: const EdgeInsets.fromLTRB(18, 18, 14, 18), child: Row( diff --git a/lib/pantallas/pantalla_unirse.dart b/lib/pantallas/pantalla_unirse.dart index 31d84e8..bbe789f 100644 --- a/lib/pantallas/pantalla_unirse.dart +++ b/lib/pantallas/pantalla_unirse.dart @@ -942,7 +942,7 @@ class _JoinLobbySignalArt extends StatelessWidget { height: height, width: double.infinity, child: Image.asset( - 'assets/ui/generated/join_lobby/signal_art.png', + 'assets/ui/generated/join_lobby/signal_art.webp', fit: BoxFit.contain, opacity: const AlwaysStoppedAnimation(0.94), ), diff --git a/lib/pantallas/pantalla_votacion.dart b/lib/pantallas/pantalla_votacion.dart index b789d48..af3a40d 100644 --- a/lib/pantallas/pantalla_votacion.dart +++ b/lib/pantallas/pantalla_votacion.dart @@ -114,7 +114,7 @@ class _PantallaVotacionState extends State { subtitulo: l10n.selectOnePlayer, color: TemaApp.colorAcento, trailing: Image.asset( - 'assets/ui/premium/vote_danger_glow.png', + 'assets/ui/generated/meta/result_verdict_art.webp', width: 42, height: 42, opacity: const AlwaysStoppedAnimation(0.64), diff --git a/lib/pantallas/pantalla_votacion_cliente.dart b/lib/pantallas/pantalla_votacion_cliente.dart index b8150c1..5c18c9d 100644 --- a/lib/pantallas/pantalla_votacion_cliente.dart +++ b/lib/pantallas/pantalla_votacion_cliente.dart @@ -141,7 +141,7 @@ class _PantallaVotacionClienteState extends State { subtitulo: l10n.selectOnePlayer, color: TemaApp.colorAcento, trailing: Image.asset( - 'assets/ui/premium/vote_danger_glow.png', + 'assets/ui/generated/meta/result_verdict_art.webp', width: 42, height: 42, opacity: const AlwaysStoppedAnimation(0.64), diff --git a/lib/tema/componentes_farolero.dart b/lib/tema/componentes_farolero.dart index 48894ed..ee55bdd 100644 --- a/lib/tema/componentes_farolero.dart +++ b/lib/tema/componentes_farolero.dart @@ -22,45 +22,21 @@ class FondoFarolero extends StatelessWidget { decoration: const BoxDecoration(gradient: TemaApp.gradienteFondo), child: Stack( children: [ - if (intenso) - Positioned.fill( - child: IgnorePointer( - child: Image.asset( - 'assets/ui/generated/gameplay/gameplay_atmosphere_bg.png', - fit: BoxFit.cover, - opacity: const AlwaysStoppedAnimation(0.30), - filterQuality: FilterQuality.high, - errorBuilder: (context, error, stackTrace) => - const SizedBox.shrink(), - ), + Positioned.fill( + child: IgnorePointer( + child: Image.asset( + 'assets/ui/generated/shared/screen_atmosphere_bg.webp', + fit: BoxFit.cover, + opacity: AlwaysStoppedAnimation(intenso ? 0.76 : 0.48), + filterQuality: FilterQuality.high, + errorBuilder: (context, error, stackTrace) => + const SizedBox.shrink(), ), ), + ), Positioned.fill( child: CustomPaint(painter: _FondoFaroleroPainter(intenso: intenso)), ), - Positioned( - top: intenso ? -180 : -140, - left: -220, - right: -220, - child: IgnorePointer( - child: Image.asset( - 'assets/ui/premium/lantern_radial_glow.png', - height: intenso ? 720 : 560, - fit: BoxFit.contain, - opacity: AlwaysStoppedAnimation(intenso ? 0.56 : 0.34), - ), - ), - ), - Positioned.fill( - child: IgnorePointer( - child: Image.asset( - 'assets/ui/premium/sparks_overlay.png', - fit: BoxFit.cover, - repeat: ImageRepeat.repeat, - opacity: AlwaysStoppedAnimation(intenso ? 0.38 : 0.22), - ), - ), - ), Positioned.fill(child: child), ], ), @@ -94,13 +70,6 @@ class PanelFarolero extends StatelessWidget { borderRadius: BorderRadius.circular(14), child: Stack( children: [ - Positioned.fill( - child: Image.asset( - 'assets/ui/premium/card_sheen_overlay.png', - fit: BoxFit.cover, - opacity: const AlwaysStoppedAnimation(0.26), - ), - ), Padding(padding: padding, child: child), ], ), @@ -348,14 +317,19 @@ class BotonFarolero extends StatelessWidget { alignment: Alignment.center, children: [ Positioned.fill( - child: Image.asset( - 'assets/ui/premium/card_sheen_overlay.png', - fit: BoxFit.cover, - opacity: const AlwaysStoppedAnimation(0.14), + child: IgnorePointer( + child: Image.asset( + 'assets/ui/generated/main/main_cta_frame.webp', + fit: BoxFit.fill, + opacity: AlwaysStoppedAnimation(habilitado ? 0.72 : 0.24), + filterQuality: FilterQuality.high, + errorBuilder: (context, error, stackTrace) => + const SizedBox.shrink(), + ), ), ), Padding( - padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 12), + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 14), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ @@ -415,35 +389,35 @@ class ArteGameplayFarolero extends StatelessWidget { this.height = 128, this.opacity = 0.92, this.padding = EdgeInsets.zero, - }) : assetPath = 'assets/ui/generated/gameplay/gameplay_phase_emblem.png'; + }) : assetPath = 'assets/ui/generated/gameplay/gameplay_phase_emblem.webp'; const ArteGameplayFarolero.notas({ super.key, this.height = 150, this.opacity = 0.94, this.padding = EdgeInsets.zero, - }) : assetPath = 'assets/ui/generated/gameplay/notes_strategy_art.png'; + }) : assetPath = 'assets/ui/generated/gameplay/notes_strategy_art.webp'; const ArteGameplayFarolero.ajustes({ super.key, this.height = 150, this.opacity = 0.94, this.padding = EdgeInsets.zero, - }) : assetPath = 'assets/ui/generated/meta/settings_profile_art.png'; + }) : assetPath = 'assets/ui/generated/meta/settings_profile_art.webp'; const ArteGameplayFarolero.historial({ super.key, this.height = 150, this.opacity = 0.94, this.padding = EdgeInsets.zero, - }) : assetPath = 'assets/ui/generated/meta/history_ledger_art.png'; + }) : assetPath = 'assets/ui/generated/meta/history_ledger_art.webp'; const ArteGameplayFarolero.resultado({ super.key, this.height = 150, this.opacity = 0.94, this.padding = EdgeInsets.zero, - }) : assetPath = 'assets/ui/generated/meta/result_verdict_art.png'; + }) : assetPath = 'assets/ui/generated/meta/result_verdict_art.webp'; @override Widget build(BuildContext context) { @@ -538,7 +512,7 @@ class TarjetaPalabraFarolero extends StatelessWidget { children: [ Positioned.fill( child: Image.asset( - 'assets/ui/generated/gameplay/gameplay_phase_emblem.png', + 'assets/ui/generated/gameplay/gameplay_phase_emblem.webp', fit: BoxFit.contain, opacity: const AlwaysStoppedAnimation(0.14), filterQuality: FilterQuality.high, @@ -546,13 +520,6 @@ class TarjetaPalabraFarolero extends StatelessWidget { const SizedBox.shrink(), ), ), - Positioned.fill( - child: Image.asset( - 'assets/ui/premium/word_reveal_glow.png', - fit: BoxFit.cover, - opacity: const AlwaysStoppedAnimation(0.28), - ), - ), Text( palabra.toUpperCase(), textAlign: TextAlign.center, diff --git a/lib/tema/tema_app.dart b/lib/tema/tema_app.dart index 69ecd5f..55d85f5 100644 --- a/lib/tema/tema_app.dart +++ b/lib/tema/tema_app.dart @@ -99,8 +99,10 @@ class TemaApp { foregroundColor: Colors.black, disabledBackgroundColor: colorTarjeta, disabledForegroundColor: colorTextoSecundario, - elevation: 0, + elevation: 10, + shadowColor: colorNaranja.withValues(alpha: 0.34), padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 16), + side: BorderSide(color: colorDorado.withValues(alpha: 0.72)), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(18)), textStyle: GoogleFonts.oswald( fontWeight: FontWeight.w700, @@ -112,7 +114,8 @@ class TemaApp { outlinedButtonTheme: OutlinedButtonThemeData( style: OutlinedButton.styleFrom( foregroundColor: colorTexto, - side: const BorderSide(color: colorBorde), + backgroundColor: colorSuperficie.withValues(alpha: 0.70), + side: BorderSide(color: colorDorado.withValues(alpha: 0.52)), padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 16), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(18)), textStyle: GoogleFonts.oswald( diff --git a/pubspec.yaml b/pubspec.yaml index d07b6bd..74ec680 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -38,7 +38,6 @@ flutter: - assets/avatars/ - assets/medals/ - assets/rewards/ - - assets/ui/premium/ - assets/ui/generated/ - assets/ui/generated/shared/ - assets/ui/generated/main/