algunos iconos PRO

This commit is contained in:
2026-05-12 00:11:43 +02:00
parent 532e3b84f1
commit be255d5ea3
16 changed files with 116 additions and 6 deletions
+3 -1
View File
@@ -1,4 +1,4 @@
import 'package:flutter/material.dart';
import 'package:flutter/material.dart';
import 'package:farolero/l10n/generated/app_localizations.dart';
import 'package:provider/provider.dart';
import '../estado/estado_juego.dart';
@@ -122,6 +122,7 @@ class _PantallaAdivinanzaState extends State<PantallaAdivinanza> {
child: BotonFarolero(
texto: l10n.guess,
icono: Icons.send,
assetIconPath: 'assets/ui/generated/actions/action_impostor_mask.webp',
onPressed: _controlador.text.trim().isNotEmpty ? _intentarAdivinar : null,
),
),
@@ -173,6 +174,7 @@ class _PantallaAdivinanzaState extends State<PantallaAdivinanza> {
BotonFarolero(
texto: acierto ? l10n.seeEndResult : l10n.nextRound,
icono: acierto ? Icons.emoji_events : Icons.skip_next,
assetIconPath: acierto ? 'assets/ui/generated/actions/action_result_trophy.webp' : null,
onPressed: acierto
? () {
Navigator.pushReplacement(
+2
View File
@@ -122,6 +122,7 @@ class _PantallaDebateState extends State<PantallaDebate> {
child: BotonFarolero.oscuro(
texto: l10n.notes,
icono: Icons.edit_note,
assetIconPath: 'assets/ui/generated/actions/action_notes_quill.webp',
onPressed: () {
Navigator.push(
context,
@@ -136,6 +137,7 @@ class _PantallaDebateState extends State<PantallaDebate> {
child: BotonFarolero(
texto: l10n.goToVoting,
icono: Icons.how_to_vote,
assetIconPath: 'assets/ui/generated/actions/action_vote_mask.webp',
onPressed: _irAVotacion,
),
),
+4 -1
View File
@@ -1,4 +1,4 @@
import 'dart:async';
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:farolero/l10n/generated/app_localizations.dart';
import 'package:farolero/modelos/inicio_partida_multijugador.dart';
@@ -205,6 +205,9 @@ class _PantallaDebateClienteState extends State<PantallaDebateCliente> {
icono: _votacionSolicitada
? Icons.hourglass_empty
: Icons.how_to_vote,
assetIconPath: _votacionSolicitada
? null
: 'assets/ui/generated/actions/action_vote_mask.webp',
onPressed: _votacionSolicitada
? null
: () {
+5
View File
@@ -804,12 +804,14 @@ class _PantallaGestorHostState extends State<PantallaGestorHost> {
return BotonFarolero.secundario(
texto: l10n.goToVoting,
icono: Icons.how_to_vote,
assetIconPath: 'assets/ui/generated/actions/action_vote_mask.webp',
onPressed: () => _avanzarAFase(FaseJuego.votacion),
);
case FaseJuego.votacion:
return BotonFarolero(
texto: todosVotaron ? l10n.revealResult : l10n.waitingVoting,
icono: Icons.visibility,
assetIconPath: 'assets/ui/generated/actions/action_result_trophy.webp',
onPressed: todosVotaron ? () => _avanzarAFase(FaseJuego.resultado) : null,
);
case FaseJuego.resultado:
@@ -843,6 +845,7 @@ class _PantallaGestorHostState extends State<PantallaGestorHost> {
return BotonFarolero(
texto: l10n.seeEndResult,
icono: Icons.emoji_events,
assetIconPath: 'assets/ui/generated/actions/action_result_trophy.webp',
onPressed: () => _finalizarPartidaOnline(context),
);
}
@@ -853,6 +856,7 @@ class _PantallaGestorHostState extends State<PantallaGestorHost> {
BotonFarolero.oscuro(
texto: l10n.impostorGuessWord,
icono: Icons.psychology,
assetIconPath: 'assets/ui/generated/actions/action_impostor_mask.webp',
onPressed: () => _iniciarAdivinanzaOnline(context),
),
const SizedBox(height: 12),
@@ -878,6 +882,7 @@ class _PantallaGestorHostState extends State<PantallaGestorHost> {
BotonFarolero(
texto: l10n.guess,
icono: Icons.check_circle,
assetIconPath: 'assets/ui/generated/actions/action_impostor_mask.webp',
onPressed: () => _resolverAdivinanzaOnline(context),
),
const SizedBox(height: 12),
+2 -2
View File
@@ -5,7 +5,7 @@ import 'package:farolero/tema/componentes_farolero.dart';
import 'package:farolero/tema/tema_app.dart';
/// Pantalla que ve cada jugador cuando recibe su palabra (modo multidispositivo).
/// El cliente recibe la palabra vía ServicioNearby y se navega aquí.
/// El cliente recibe la palabra vía ServicioNearby y se navega aquí.
/// NO es la pantalla del host.
class PantallaPalabraCliente extends StatefulWidget {
final String palabra;
@@ -166,7 +166,7 @@ class _PantallaPalabraClienteState extends State<PantallaPalabraCliente> {
),
const Spacer(),
// Botón confirmar
// Botón confirmar
BotonFarolero(
texto: _haRevelado ? l10n.iveSeenIt : l10n.tapToSee,
icono: Icons.check,
+2
View File
@@ -102,6 +102,7 @@ class _PantallaVotacionState extends State<PantallaVotacion> {
BotonFarolero(
texto: l10n.confirmVote,
icono: Icons.how_to_vote,
assetIconPath: 'assets/ui/generated/actions/action_vote_mask.webp',
onPressed: _seleccionado != null
? () {
estado.registrarVoto(votanteActual.id, _seleccionado!);
@@ -147,6 +148,7 @@ class _PantallaVotacionState extends State<PantallaVotacion> {
BotonFarolero(
texto: l10n.revealResult,
icono: Icons.visibility,
assetIconPath: 'assets/ui/generated/actions/action_result_trophy.webp',
onPressed: () {
final resultado = estado.procesarVotacion();
if (resultado != null) {
+2 -1
View File
@@ -12,7 +12,7 @@ import 'package:farolero/tema/componentes_farolero.dart';
import 'package:farolero/tema/tema_app.dart';
import 'package:provider/provider.dart';
/// Pantalla de votación para cliente multidispositivo.
/// Pantalla de votación para cliente multidispositivo.
/// Un cliente puede manejar uno o varios jugadores, por eso se recoge un voto
/// por cada jugador controlado activo.
class PantallaVotacionCliente extends StatefulWidget {
@@ -186,6 +186,7 @@ class _PantallaVotacionClienteState extends State<PantallaVotacionCliente> {
BotonFarolero.secundario(
texto: l10n.votar,
icono: Icons.how_to_vote,
assetIconPath: 'assets/ui/generated/actions/action_vote_mask.webp',
onPressed: _votacionCompleta
? () => widget.onVotos(Map.unmodifiable(_votosPorVotante))
: null,