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

@@ -8,6 +8,7 @@ import '../modelos/partida.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_gestor_host.dart';
@@ -131,8 +132,14 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
// 3. Iniciar host en Nearby
if (!mounted) return;
final nearby = context.read<ServicioNearby>();
final perfil = context.read<ServicioPerfilUsuario>().perfil;
final nombreSala = '${nombre.trim()} - Farolero';
final ok = await nearby.iniciarHost(nombreSala, nombre.trim());
final ok = await nearby.iniciarHost(
nombreSala,
nombre.trim(),
miNick: perfil.nick,
miAvatar: perfil.avatarAsset,
);
if (!ok) {
if (mounted) {
@@ -279,7 +286,11 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
value: usuario.nombre,
child: Row(
children: [
Text(usuario.avatar ?? '👤'),
AvatarFarolero(
texto: usuario.nombre.substring(0, 1),
assetPath: usuario.avatar,
size: 28,
),
const SizedBox(width: 8),
Text(usuario.nombre),
],
@@ -324,6 +335,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
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,
@@ -356,6 +368,9 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
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();
@@ -366,6 +381,7 @@ class _PantallaCrearPartidaState extends State<PantallaCrearPartida> {
/// 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,