nueva pantalla molona

This commit is contained in:
2026-05-10 21:59:38 +02:00
parent 8359d54000
commit 79a66c2e82
11 changed files with 131 additions and 56 deletions

View File

@@ -173,6 +173,7 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
},
),
),
),
);
}
@@ -444,13 +445,16 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
appBar: AppBar(title: Text(l10n.joinGameTitle)),
body: FondoFarolero(
intenso: true,
child: Padding(
padding: const EdgeInsets.all(32),
child: Form(
key: _formKey,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
child: SafeArea(
child: SingleChildScrollView(
padding: const EdgeInsets.all(32),
child: Form(
key: _formKey,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const _JoinLobbySignalArt(height: 190),
const SizedBox(height: 14),
EncabezadoFarolero(
icono: Icons.bluetooth_searching,
titulo: l10n.joinGameTitle,
@@ -481,11 +485,11 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
const SizedBox(height: 16),
_buildError(_error!),
],
],
],
),
),
),
),
),
);
}
@@ -518,6 +522,8 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
padding: const EdgeInsets.all(24),
child: Column(
children: [
const _JoinLobbySignalArt(height: 150),
const SizedBox(height: 12),
EncabezadoFarolero(
icono: _conectando ? Icons.sync : Icons.radar,
titulo: _conectando
@@ -718,6 +724,8 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const _JoinLobbySignalArt(height: 160),
const SizedBox(height: 12),
EncabezadoFarolero(
icono: Icons.check_circle,
titulo: l10n.connectedWaiting,
@@ -910,3 +918,22 @@ class _PantallaUnirseState extends State<PantallaUnirse> {
);
}
}
class _JoinLobbySignalArt extends StatelessWidget {
final double height;
const _JoinLobbySignalArt({required this.height});
@override
Widget build(BuildContext context) {
return SizedBox(
height: height,
width: double.infinity,
child: Image.asset(
'assets/ui/generated/join_lobby/signal_art.png',
fit: BoxFit.contain,
opacity: const AlwaysStoppedAnimation(0.94),
),
);
}
}