Nuevos assets para otras pantallas (meta)
Some checks failed
Build & Deploy Farolero / Análisis de código (push) Failing after 56s
Build & Deploy Farolero / Build APK + AAB release (push) Has been skipped

This commit is contained in:
2026-05-11 19:04:45 +02:00
parent d338e78612
commit df2659ab9d
10 changed files with 51 additions and 12 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

@@ -33,6 +33,8 @@ class _PantallaAjustesState extends State<PantallaAjustes> {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
const ArteGameplayFarolero.ajustes(height: 142),
const SizedBox(height: 8),
Card( Card(
child: InkWell( child: InkWell(
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
@@ -157,6 +159,8 @@ class _PantallaAjustesState extends State<PantallaAjustes> {
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
const ArteGameplayFarolero.ajustes(height: 118),
const SizedBox(height: 12),
TextField( TextField(
controller: nombreController, controller: nombreController,
textCapitalization: TextCapitalization.words, textCapitalization: TextCapitalization.words,

View File

@@ -23,10 +23,17 @@ class PantallaHistorial extends StatelessWidget {
? Center( ? Center(
child: Padding( child: Padding(
padding: const EdgeInsets.all(20), padding: const EdgeInsets.all(20),
child: EstadoVacioFarolero( child: Column(
icono: Icons.history_rounded, mainAxisSize: MainAxisSize.min,
titulo: l10n.history, children: [
subtitulo: l10n.noSavedGames, const ArteGameplayFarolero.historial(height: 156),
const SizedBox(height: 12),
EstadoVacioFarolero(
icono: Icons.history_rounded,
titulo: l10n.history,
subtitulo: l10n.noSavedGames,
),
],
), ),
), ),
) )
@@ -34,10 +41,13 @@ class PantallaHistorial extends StatelessWidget {
top: false, top: false,
child: ListView.separated( child: ListView.separated(
padding: const EdgeInsets.fromLTRB(16, 12, 16, 24), padding: const EdgeInsets.fromLTRB(16, 12, 16, 24),
itemCount: partidas.length, itemCount: partidas.length + 1,
separatorBuilder: (_, __) => const SizedBox(height: 12), separatorBuilder: (_, __) => const SizedBox(height: 12),
itemBuilder: (context, index) { itemBuilder: (context, index) {
final partida = partidas[index]; if (index == 0) {
return const ArteGameplayFarolero.historial(height: 132);
}
final partida = partidas[index - 1];
final ganaronJugadores = partida.ganador == 'jugadores'; final ganaronJugadores = partida.ganador == 'jugadores';
final color = ganaronJugadores final color = ganaronJugadores
? TemaApp.colorVerde ? TemaApp.colorVerde

View File

@@ -73,7 +73,7 @@ class _PantallaResultadoState extends State<PantallaResultado>
children: [ children: [
// Animación de suspense // Animación de suspense
if (!_revelado) ...[ if (!_revelado) ...[
const Text('🥁', style: TextStyle(fontSize: 64)), const ArteGameplayFarolero.resultado(height: 152),
const SizedBox(height: 16), const SizedBox(height: 16),
Text( Text(
l10n.revealing, l10n.revealing,
@@ -89,10 +89,7 @@ class _PantallaResultadoState extends State<PantallaResultado>
opacity: _animOpacidad, opacity: _animOpacidad,
child: Column( child: Column(
children: [ children: [
Text( const ArteGameplayFarolero.resultado(height: 164),
widget.resultado.eraImpostor ? '🎭' : '😇',
style: const TextStyle(fontSize: 72),
),
const SizedBox(height: 16), const SizedBox(height: 16),
Text( Text(
widget.resultado.eliminadoNombre, widget.resultado.eliminadoNombre,

View File

@@ -222,7 +222,7 @@ class _PantallaResultadoOnlineState extends State<PantallaResultadoOnline> {
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
const Icon(Icons.hourglass_top, size: 48), const ArteGameplayFarolero.resultado(height: 142),
const SizedBox(height: 16), const SizedBox(height: 16),
Text( Text(
_snapshot.mensaje ?? l10n.impostorCanGuess, _snapshot.mensaje ?? l10n.impostorCanGuess,
@@ -261,6 +261,8 @@ class _PantallaResultadoOnlineState extends State<PantallaResultadoOnline> {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
const ArteGameplayFarolero.resultado(height: 132),
const SizedBox(height: 12),
Container( Container(
width: double.infinity, width: double.infinity,
padding: const EdgeInsets.all(20), padding: const EdgeInsets.all(20),

View File

@@ -21,6 +21,8 @@ Future<void> mostrarRevisionPalabraOnline({
shrinkWrap: true, shrinkWrap: true,
padding: const EdgeInsets.all(16), padding: const EdgeInsets.all(16),
children: [ children: [
const ArteGameplayFarolero.fase(height: 108),
const SizedBox(height: 10),
Text( Text(
AppLocalizations.of(sheetContext)!.seeYourWord, AppLocalizations.of(sheetContext)!.seeYourWord,
style: Theme.of(sheetContext).textTheme.titleLarge, style: Theme.of(sheetContext).textTheme.titleLarge,
@@ -72,6 +74,8 @@ class _DialogoRevisionPalabra extends StatelessWidget {
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
const ArteGameplayFarolero.fase(height: 118),
const SizedBox(height: 10),
Text( Text(
jugador.nombre, jugador.nombre,
style: Theme.of(context).textTheme.titleLarge, style: Theme.of(context).textTheme.titleLarge,

View File

@@ -424,6 +424,27 @@ class ArteGameplayFarolero extends StatelessWidget {
this.padding = EdgeInsets.zero, this.padding = EdgeInsets.zero,
}) : assetPath = 'assets/ui/generated/gameplay/notes_strategy_art.png'; }) : assetPath = 'assets/ui/generated/gameplay/notes_strategy_art.png';
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';
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';
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';
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ExcludeSemantics( return ExcludeSemantics(

View File

@@ -47,3 +47,4 @@ flutter:
- assets/ui/generated/join_lobby/ - assets/ui/generated/join_lobby/
- assets/ui/generated/final_rewards/ - assets/ui/generated/final_rewards/
- assets/ui/generated/gameplay/ - assets/ui/generated/gameplay/
- assets/ui/generated/meta/