Gestión de usuarios y avatares en la aplicación. Gestión de traducciones de las palabras.

This commit is contained in:
2026-05-04 20:58:02 +02:00
parent 7dd6c7bd74
commit 957b42ea0c
58 changed files with 22603 additions and 21 deletions

View File

@@ -7,6 +7,7 @@ import '../modelos/inicio_partida_multijugador.dart';
import '../modelos/usuario.dart';
import '../servicios/servicio_nearby.dart';
import '../servicios/servicio_permisos.dart';
import '../servicios/servicio_perfil_usuario.dart';
import '../tema/componentes_farolero.dart';
import '../tema/tema_app.dart';
import 'pantalla_palabra_cliente.dart';
@@ -46,6 +47,10 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
super.initState();
// Registrar listener ANTES del primer build
WidgetsBinding.instance.addPostFrameCallback((_) {
final perfil = context.read<ServicioPerfilUsuario>().perfil;
if (_nombreController.text.isEmpty) {
_nombreController.text = perfil.nombre;
}
_registrarListenerPartida();
});
}
@@ -701,6 +706,7 @@ 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 nombre = await showDialog<String>(
context: context,
@@ -730,7 +736,13 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
);
if (nombre != null && nombre.trim().isNotEmpty) {
await nearby.crearUsuarioSala(nombre.trim(), seleccionar: true);
final perfil = context.read<ServicioPerfilUsuario>().perfil;
await nearby.crearUsuarioSala(
nombre.trim(),
seleccionar: true,
nick: perfil.nick,
avatar: perfil.avatarAsset,
);
}
}