Ahora sí, corregido en teoría
This commit is contained in:
@@ -5,7 +5,6 @@ import '../estado/estado_juego.dart';
|
||||
import '../modelos/inicio_partida_multijugador.dart';
|
||||
import '../modelos/palabra.dart';
|
||||
import '../modelos/partida.dart';
|
||||
import '../modelos/usuario.dart';
|
||||
import '../servicios/servicio_nearby.dart';
|
||||
import '../servicios/servicio_permisos.dart';
|
||||
import '../servicios/servicio_perfil_usuario.dart';
|
||||
@@ -249,87 +248,6 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
return context.read<ServicioPerfilUsuario>().perfil.nombre;
|
||||
}
|
||||
|
||||
/// Crea un nuevo usuario y lo agrega al pool
|
||||
Future<String?> _crearNuevoUsuarioHost() async {
|
||||
final controller = TextEditingController();
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
final nearby = context.read<ServicioNearby>();
|
||||
controller.text = context.read<ServicioPerfilUsuario>().perfil.nombre;
|
||||
|
||||
final nombre = await showDialog<String>(
|
||||
context: context,
|
||||
builder: (ctx) => AlertDialog(
|
||||
title: Text(l10n.createNewUser),
|
||||
content: TextField(
|
||||
controller: controller,
|
||||
autofocus: true,
|
||||
textCapitalization: TextCapitalization.words,
|
||||
decoration: InputDecoration(
|
||||
hintText: l10n.yourName,
|
||||
prefixIcon: const Icon(Icons.person),
|
||||
),
|
||||
onSubmitted: (v) => Navigator.pop(ctx, v),
|
||||
),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Navigator.pop(ctx),
|
||||
child: Text(l10n.cancel),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () => Navigator.pop(ctx, controller.text),
|
||||
child: const Text('OK'),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
if (nombre != null && nombre.trim().isNotEmpty) {
|
||||
final nuevoUsuario = Usuario(
|
||||
id: DateTime.now().millisecondsSinceEpoch.toString(),
|
||||
nombre: nombre.trim(),
|
||||
nick: context.read<ServicioPerfilUsuario>().perfil.nick,
|
||||
avatar: context.read<ServicioPerfilUsuario>().perfil.avatarAsset,
|
||||
foto: context.read<ServicioPerfilUsuario>().perfil.avatarAsset,
|
||||
);
|
||||
nearby.agregarUsuario(nuevoUsuario);
|
||||
return nombre.trim();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// Método original para pedir nombre (usado cuando pool vacÃo)
|
||||
Future<String?> _pedirNombreHost() async {
|
||||
final controller = TextEditingController();
|
||||
controller.text = context.read<ServicioPerfilUsuario>().perfil.nombre;
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
return showDialog<String>(
|
||||
context: context,
|
||||
builder: (ctx) => AlertDialog(
|
||||
title: Text(l10n.yourName),
|
||||
content: TextField(
|
||||
controller: controller,
|
||||
autofocus: true,
|
||||
textCapitalization: TextCapitalization.words,
|
||||
decoration: InputDecoration(
|
||||
hintText: l10n.yourName,
|
||||
prefixIcon: const Icon(Icons.person),
|
||||
),
|
||||
onSubmitted: (v) => Navigator.pop(ctx, v),
|
||||
),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Navigator.pop(ctx),
|
||||
child: Text(l10n.cancel),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () => Navigator.pop(ctx, controller.text),
|
||||
child: const Text('OK'),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_controladorNombre.dispose();
|
||||
@@ -362,7 +280,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'¿Cómo quieres jugar?',
|
||||
'¿Cómo quieres jugar?',
|
||||
style: Theme.of(context).textTheme.titleLarge,
|
||||
),
|
||||
const SizedBox(height: 3),
|
||||
@@ -413,7 +331,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
|
||||
// CategorÃa
|
||||
// Categoría
|
||||
Card(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(16),
|
||||
@@ -517,7 +435,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
|
||||
// Configuración de partida
|
||||
// Configuración de partida
|
||||
Card(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(16),
|
||||
@@ -530,7 +448,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
|
||||
// Número de impostores
|
||||
// Número de impostores
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
@@ -591,7 +509,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
||||
),
|
||||
const SizedBox(height: 24),
|
||||
|
||||
// Botón iniciar
|
||||
// Botón iniciar
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
height: 56,
|
||||
|
||||
@@ -270,6 +270,7 @@ class _PantallaLobbyHostState extends State<PantallaLobbyHost> {
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
final controller = TextEditingController();
|
||||
final nearby = context.read<ServicioNearby>();
|
||||
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
||||
|
||||
final nombre = await showDialog<String>(
|
||||
context: context,
|
||||
@@ -299,7 +300,6 @@ class _PantallaLobbyHostState extends State<PantallaLobbyHost> {
|
||||
);
|
||||
|
||||
if (nombre != null && nombre.trim().isNotEmpty) {
|
||||
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
||||
await nearby.crearUsuarioSala(
|
||||
nombre.trim(),
|
||||
seleccionar: true,
|
||||
|
||||
@@ -706,7 +706,8 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
final controller = TextEditingController();
|
||||
final nearby = context.read<ServicioNearby>();
|
||||
controller.text = context.read<ServicioPerfilUsuario>().perfil.nombre;
|
||||
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
||||
controller.text = perfil.nombre;
|
||||
|
||||
final nombre = await showDialog<String>(
|
||||
context: context,
|
||||
@@ -736,7 +737,6 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
|
||||
);
|
||||
|
||||
if (nombre != null && nombre.trim().isNotEmpty) {
|
||||
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
||||
await nearby.crearUsuarioSala(
|
||||
nombre.trim(),
|
||||
seleccionar: true,
|
||||
|
||||
Reference in New Issue
Block a user