corrección de botonesa, y por lo visto también traducciones

This commit is contained in:
2026-05-10 23:36:31 +02:00
parent 4751a607bd
commit a8494f7b01
40 changed files with 463 additions and 168 deletions
+49 -27
View File
@@ -149,6 +149,8 @@ class EncabezadoFarolero extends StatelessWidget {
children: [
Text(
titulo,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: Theme.of(context).textTheme.headlineMedium?.copyWith(
color: TemaApp.colorDorado,
fontWeight: FontWeight.w900,
@@ -158,6 +160,8 @@ class EncabezadoFarolero extends StatelessWidget {
const SizedBox(height: 3),
Text(
subtitulo!,
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: Theme.of(context).textTheme.bodyMedium,
),
],
@@ -290,6 +294,7 @@ class BotonFarolero extends StatelessWidget {
@override
Widget build(BuildContext context) {
final habilitado = onPressed != null;
final colorTexto = habilitado ? foreground : TemaApp.colorTextoSecundario;
return Material(
color: Colors.transparent,
@@ -297,7 +302,6 @@ class BotonFarolero extends StatelessWidget {
borderRadius: BorderRadius.circular(18),
onTap: onPressed,
child: Ink(
height: 58,
decoration: BoxDecoration(
gradient: habilitado
? gradient
@@ -323,37 +327,55 @@ class BotonFarolero extends StatelessWidget {
),
],
),
child: Stack(
children: [
Positioned.fill(
child: Image.asset(
'assets/ui/premium/card_sheen_overlay.png',
fit: BoxFit.cover,
opacity: const AlwaysStoppedAnimation(0.18),
),
),
Row(
child: ConstrainedBox(
constraints: const BoxConstraints(minHeight: 64),
child: ClipRRect(
borderRadius: BorderRadius.circular(18),
child: Stack(
alignment: Alignment.center,
children: [
SizedBox(
width: 58,
child: Icon(icono, color: foreground, size: 28),
),
Expanded(
child: Text(
texto.toUpperCase(),
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.titleMedium?.copyWith(
color: foreground,
fontSize: 18,
fontWeight: FontWeight.w900,
letterSpacing: 0.8,
),
Positioned.fill(
child: Image.asset(
'assets/ui/premium/card_sheen_overlay.png',
fit: BoxFit.cover,
opacity: const AlwaysStoppedAnimation(0.14),
),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 12),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
width: 42,
child: Icon(icono, color: colorTexto, size: 28),
),
const SizedBox(width: 8),
Expanded(
child: Center(
child: FittedBox(
fit: BoxFit.scaleDown,
child: Text(
texto.toUpperCase(),
maxLines: 1,
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.titleMedium?.copyWith(
color: colorTexto,
fontSize: 18,
fontWeight: FontWeight.w900,
letterSpacing: 0.8,
),
),
),
),
),
const SizedBox(width: 50),
],
),
),
const SizedBox(width: 58),
],
),
],
),
),
),
),