correcciones
This commit is contained in:
@@ -324,7 +324,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
_CrearPartidaHeader(
|
||||
titulo: '?C?mo quieres jugar?',
|
||||
titulo: l10n.createGame,
|
||||
subtitulo: l10n.playersRange,
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
|
||||
@@ -746,7 +746,7 @@ class _MedallaDesbloqueada extends StatelessWidget {
|
||||
width: 58,
|
||||
height: 58,
|
||||
fit: BoxFit.contain,
|
||||
errorBuilder: (_, __, ___) =>
|
||||
errorBuilder: (context, error, stackTrace) =>
|
||||
Text(medalla.emoji, style: const TextStyle(fontSize: 32)),
|
||||
),
|
||||
],
|
||||
|
||||
@@ -325,6 +325,8 @@ class _PantallaLobbyHostState extends State<PantallaLobbyHost> {
|
||||
final controller = TextEditingController();
|
||||
final nearby = context.read<ServicioNearby>();
|
||||
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
||||
final gamificacion =
|
||||
context.read<ServicioPerfilUsuario>().resumenGamificacion;
|
||||
|
||||
final nombre = await showDialog<String>(
|
||||
context: context,
|
||||
@@ -354,8 +356,6 @@ class _PantallaLobbyHostState extends State<PantallaLobbyHost> {
|
||||
);
|
||||
|
||||
if (nombre != null && nombre.trim().isNotEmpty) {
|
||||
final gamificacion =
|
||||
context.read<ServicioPerfilUsuario>().resumenGamificacion;
|
||||
await nearby.crearUsuarioSala(
|
||||
nombre.trim(),
|
||||
seleccionar: true,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_animate/flutter_animate.dart';
|
||||
import 'package:farolero/l10n/generated/app_localizations.dart';
|
||||
|
||||
import '../tema/componentes_farolero.dart';
|
||||
import '../tema/tema_app.dart';
|
||||
@@ -10,9 +11,10 @@ class PantallaSeleccionModoJuego extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
return Scaffold(
|
||||
extendBodyBehindAppBar: true,
|
||||
appBar: AppBar(title: const Text('Elegir modo')),
|
||||
appBar: AppBar(title: Text(l10n.gameMode)),
|
||||
body: FondoFarolero(
|
||||
intenso: true,
|
||||
child: SafeArea(
|
||||
@@ -25,12 +27,15 @@ class PantallaSeleccionModoJuego extends StatelessWidget {
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: [
|
||||
const SizedBox(height: 12),
|
||||
const _ModoHero().animate().fadeIn(duration: 320.ms).slideY(begin: -0.12),
|
||||
_ModoHero(
|
||||
titulo: l10n.gameMode,
|
||||
subtitulo: l10n.playersRange,
|
||||
).animate().fadeIn(duration: 320.ms).slideY(begin: -0.12),
|
||||
const SizedBox(height: 34),
|
||||
_ModoCard(
|
||||
marcoAsset: 'assets/ui/generated/mode/mode_single_card_frame.png',
|
||||
icono: Icons.phone_android_rounded,
|
||||
titulo: 'Un móvil',
|
||||
titulo: l10n.singleDevice,
|
||||
subtitulo: 'Partida en este dispositivo',
|
||||
descripcion: 'Ideal para jugar todos juntos pasando el móvil. Configuración rápida y directa.',
|
||||
onTap: () => Navigator.push(
|
||||
@@ -47,7 +52,7 @@ class PantallaSeleccionModoJuego extends StatelessWidget {
|
||||
_ModoCard(
|
||||
marcoAsset: 'assets/ui/generated/mode/mode_multi_card_frame.png',
|
||||
icono: Icons.devices_rounded,
|
||||
titulo: 'Multidispositivo',
|
||||
titulo: l10n.multiDevice,
|
||||
subtitulo: 'Cada jugador en su móvil',
|
||||
descripcion: 'Crea una sala premium, comparte QR y gestiona usuarios desde el lobby.',
|
||||
destacado: true,
|
||||
@@ -73,7 +78,13 @@ class PantallaSeleccionModoJuego extends StatelessWidget {
|
||||
}
|
||||
|
||||
class _ModoHero extends StatelessWidget {
|
||||
const _ModoHero();
|
||||
final String titulo;
|
||||
final String subtitulo;
|
||||
|
||||
const _ModoHero({
|
||||
required this.titulo,
|
||||
required this.subtitulo,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -89,7 +100,7 @@ class _ModoHero extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
Text(
|
||||
'?C?mo quer?s jugar?',
|
||||
titulo,
|
||||
textAlign: TextAlign.center,
|
||||
style: Theme.of(context).textTheme.headlineMedium?.copyWith(
|
||||
color: TemaApp.colorDorado,
|
||||
@@ -102,7 +113,7 @@ class _ModoHero extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
Text(
|
||||
'Eleg? el tipo de partida y arranc? sin fricci?n.',
|
||||
subtitulo,
|
||||
textAlign: TextAlign.center,
|
||||
style: Theme.of(context).textTheme.titleMedium?.copyWith(
|
||||
color: TemaApp.colorTextoSecundario,
|
||||
|
||||
@@ -173,7 +173,6 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -490,6 +489,7 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -799,6 +799,8 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
|
||||
final controller = TextEditingController();
|
||||
final nearby = context.read<ServicioNearby>();
|
||||
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
||||
final gamificacion =
|
||||
context.read<ServicioPerfilUsuario>().resumenGamificacion;
|
||||
controller.text = perfil.nombre;
|
||||
|
||||
final nombre = await showDialog<String>(
|
||||
@@ -829,8 +831,6 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
|
||||
);
|
||||
|
||||
if (nombre != null && nombre.trim().isNotEmpty) {
|
||||
final gamificacion =
|
||||
context.read<ServicioPerfilUsuario>().resumenGamificacion;
|
||||
await nearby.crearUsuarioSala(
|
||||
nombre.trim(),
|
||||
seleccionar: true,
|
||||
|
||||
Reference in New Issue
Block a user