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/inicio_partida_multijugador.dart';
|
||||||
import '../modelos/palabra.dart';
|
import '../modelos/palabra.dart';
|
||||||
import '../modelos/partida.dart';
|
import '../modelos/partida.dart';
|
||||||
import '../modelos/usuario.dart';
|
|
||||||
import '../servicios/servicio_nearby.dart';
|
import '../servicios/servicio_nearby.dart';
|
||||||
import '../servicios/servicio_permisos.dart';
|
import '../servicios/servicio_permisos.dart';
|
||||||
import '../servicios/servicio_perfil_usuario.dart';
|
import '../servicios/servicio_perfil_usuario.dart';
|
||||||
@@ -249,87 +248,6 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
|||||||
return context.read<ServicioPerfilUsuario>().perfil.nombre;
|
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
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
_controladorNombre.dispose();
|
_controladorNombre.dispose();
|
||||||
@@ -362,7 +280,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'¿Cómo quieres jugar?',
|
'¿Cómo quieres jugar?',
|
||||||
style: Theme.of(context).textTheme.titleLarge,
|
style: Theme.of(context).textTheme.titleLarge,
|
||||||
),
|
),
|
||||||
const SizedBox(height: 3),
|
const SizedBox(height: 3),
|
||||||
@@ -413,7 +331,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
|
|
||||||
// CategorÃa
|
// Categoría
|
||||||
Card(
|
Card(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(16),
|
padding: const EdgeInsets.all(16),
|
||||||
@@ -517,7 +435,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
|
|
||||||
// Configuración de partida
|
// Configuración de partida
|
||||||
Card(
|
Card(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(16),
|
padding: const EdgeInsets.all(16),
|
||||||
@@ -530,7 +448,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
|
|
||||||
// Número de impostores
|
// Número de impostores
|
||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
@@ -591,7 +509,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 24),
|
const SizedBox(height: 24),
|
||||||
|
|
||||||
// Botón iniciar
|
// Botón iniciar
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
height: 56,
|
height: 56,
|
||||||
|
|||||||
@@ -270,6 +270,7 @@ class _PantallaLobbyHostState extends State<PantallaLobbyHost> {
|
|||||||
final l10n = AppLocalizations.of(context)!;
|
final l10n = AppLocalizations.of(context)!;
|
||||||
final controller = TextEditingController();
|
final controller = TextEditingController();
|
||||||
final nearby = context.read<ServicioNearby>();
|
final nearby = context.read<ServicioNearby>();
|
||||||
|
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
||||||
|
|
||||||
final nombre = await showDialog<String>(
|
final nombre = await showDialog<String>(
|
||||||
context: context,
|
context: context,
|
||||||
@@ -299,7 +300,6 @@ class _PantallaLobbyHostState extends State<PantallaLobbyHost> {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (nombre != null && nombre.trim().isNotEmpty) {
|
if (nombre != null && nombre.trim().isNotEmpty) {
|
||||||
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
|
||||||
await nearby.crearUsuarioSala(
|
await nearby.crearUsuarioSala(
|
||||||
nombre.trim(),
|
nombre.trim(),
|
||||||
seleccionar: true,
|
seleccionar: true,
|
||||||
|
|||||||
@@ -706,7 +706,8 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
|
|||||||
final l10n = AppLocalizations.of(context)!;
|
final l10n = AppLocalizations.of(context)!;
|
||||||
final controller = TextEditingController();
|
final controller = TextEditingController();
|
||||||
final nearby = context.read<ServicioNearby>();
|
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>(
|
final nombre = await showDialog<String>(
|
||||||
context: context,
|
context: context,
|
||||||
@@ -736,7 +737,6 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (nombre != null && nombre.trim().isNotEmpty) {
|
if (nombre != null && nombre.trim().isNotEmpty) {
|
||||||
final perfil = context.read<ServicioPerfilUsuario>().perfil;
|
|
||||||
await nearby.crearUsuarioSala(
|
await nearby.crearUsuarioSala(
|
||||||
nombre.trim(),
|
nombre.trim(),
|
||||||
seleccionar: true,
|
seleccionar: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user