Limpieza de peso de imágenes

This commit is contained in:
2026-05-11 20:30:59 +02:00
parent 928cbd8a1d
commit e7c5b08ec0
94 changed files with 181 additions and 246 deletions
+26 -59
View File
@@ -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,
+5 -2
View File
@@ -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(