aplicadas correcciones
This commit is contained in:
@@ -55,8 +55,10 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
final servicioPerfil = context.read<ServicioPerfilUsuario>();
|
||||
if (!servicioPerfil.cargado) return;
|
||||
final perfil = servicioPerfil.perfil;
|
||||
final nombre =
|
||||
perfil.nombre.trim().isEmpty ? 'Jugador' : perfil.nombre.trim();
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
final nombre = perfil.nombre.trim().isEmpty
|
||||
? l10n.defaultPlayerName
|
||||
: perfil.nombre.trim();
|
||||
if (_jugadores.contains(nombre)) return;
|
||||
setState(() {
|
||||
_jugadores.insert(0, nombre);
|
||||
@@ -101,8 +103,10 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
|
||||
void _eliminarJugador(int index) {
|
||||
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
||||
final nombrePerfil =
|
||||
perfil.nombre.trim().isEmpty ? 'Jugador' : perfil.nombre.trim();
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
final nombrePerfil = perfil.nombre.trim().isEmpty
|
||||
? l10n.defaultPlayerName
|
||||
: perfil.nombre.trim();
|
||||
if (index == 0 && _jugadores[index] == nombrePerfil) return;
|
||||
setState(() {
|
||||
_jugadores.removeAt(index);
|
||||
@@ -146,13 +150,14 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
}
|
||||
|
||||
Future<void> _iniciarPartidaMulti() async {
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
// 1. Pedir permisos automáticamente
|
||||
final permisosOk = await ServicioPermisos.solicitarPermisosNearby(context);
|
||||
if (!permisosOk) {
|
||||
if (mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('Se necesitan permisos de Bluetooth y ubicación'),
|
||||
SnackBar(
|
||||
content: Text(l10n.bluetoothLocationPermissionsShort),
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -182,8 +187,8 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
if (!ok) {
|
||||
if (mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('No se pudo crear la sala. Verifica Bluetooth.'),
|
||||
SnackBar(
|
||||
content: Text(l10n.couldNotCreateRoom),
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -207,7 +212,9 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(
|
||||
'No se puede iniciar: ${validacion.codigo ?? "sala inválida"}',
|
||||
l10n.cannotStartWithReason(
|
||||
validacion.codigo ?? l10n.invalidRoom,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
@@ -301,7 +308,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
final categorias = ['todas', ...?estado.banco?.nombresCategorias];
|
||||
final etiquetas = _etiquetasTiempo(l10n);
|
||||
final nombrePerfilActual = servicioPerfil.perfil.nombre.trim().isEmpty
|
||||
? 'Jugador'
|
||||
? l10n.defaultPlayerName
|
||||
: servicioPerfil.perfil.nombre.trim();
|
||||
if (!_modoMultimovil &&
|
||||
servicioPerfil.cargado &&
|
||||
@@ -383,8 +390,8 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
Expanded(
|
||||
child: Text(
|
||||
_modoMultimovil
|
||||
? 'Partida multidispositivo'
|
||||
: 'Partida en este dispositivo',
|
||||
? l10n.multiDeviceGameLabel
|
||||
: l10n.singleDeviceGameLabel,
|
||||
style: Theme.of(context).textTheme.titleMedium,
|
||||
),
|
||||
),
|
||||
@@ -475,7 +482,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
..._jugadores.asMap().entries.map((e) {
|
||||
final perfil = servicioPerfil.perfil;
|
||||
final nombrePerfil = perfil.nombre.trim().isEmpty
|
||||
? 'Jugador'
|
||||
? l10n.defaultPlayerName
|
||||
: perfil.nombre.trim();
|
||||
final inicialPerfil = nombrePerfil.isEmpty
|
||||
? '?'
|
||||
@@ -498,7 +505,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
),
|
||||
title: Text(e.value),
|
||||
subtitle: esPerfilLocal
|
||||
? const Text('Usuario principal del dispositivo')
|
||||
? Text(l10n.mainDeviceUser)
|
||||
: null,
|
||||
trailing: esPerfilLocal
|
||||
? const Icon(Icons.lock, color: TemaApp.colorDorado)
|
||||
|
||||
Reference in New Issue
Block a user