Juego de deducción social para 3-20 jugadores. Modo un solo móvil completamente funcional. 1000 palabras en 10 categorías. Notas privadas, votación, adivinanza, revancha. Material 3 dark theme. Package: es.freetimelab.elimpostor
77 lines
2.8 KiB
Dart
77 lines
2.8 KiB
Dart
import 'package:flutter/material.dart';
|
|
import '../tema/tema_app.dart';
|
|
|
|
class PantallaUnirse extends StatelessWidget {
|
|
const PantallaUnirse({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(title: const Text('Unirse a partida')),
|
|
body: Center(
|
|
child: Padding(
|
|
padding: const EdgeInsets.all(32),
|
|
child: Column(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: [
|
|
const Text('📱', style: TextStyle(fontSize: 64)),
|
|
const SizedBox(height: 24),
|
|
Text(
|
|
'Modo multimóvil',
|
|
style: Theme.of(context).textTheme.headlineMedium,
|
|
),
|
|
const SizedBox(height: 16),
|
|
Text(
|
|
'Escanea el código QR que muestra el host '
|
|
'para conectarte a la partida vía Bluetooth/WiFi Direct.',
|
|
style: Theme.of(context).textTheme.bodyLarge,
|
|
textAlign: TextAlign.center,
|
|
),
|
|
const SizedBox(height: 32),
|
|
Container(
|
|
width: double.infinity,
|
|
padding: const EdgeInsets.all(20),
|
|
decoration: BoxDecoration(
|
|
color: TemaApp.colorNaranja.withValues(alpha: 0.15),
|
|
borderRadius: BorderRadius.circular(16),
|
|
border: Border.all(color: TemaApp.colorNaranja.withValues(alpha: 0.5)),
|
|
),
|
|
child: Column(
|
|
children: [
|
|
const Text('🚧', style: TextStyle(fontSize: 32)),
|
|
const SizedBox(height: 8),
|
|
Text(
|
|
'Próximamente',
|
|
style: Theme.of(context).textTheme.titleLarge?.copyWith(
|
|
color: TemaApp.colorNaranja,
|
|
),
|
|
),
|
|
const SizedBox(height: 8),
|
|
Text(
|
|
'La conexión multimóvil con Nearby Connections '
|
|
'requiere dispositivos Android físicos.\n\n'
|
|
'Por ahora, usa el modo "Un solo móvil" '
|
|
'para jugar en un dispositivo compartido.',
|
|
style: Theme.of(context).textTheme.bodyMedium,
|
|
textAlign: TextAlign.center,
|
|
),
|
|
],
|
|
),
|
|
),
|
|
const SizedBox(height: 32),
|
|
SizedBox(
|
|
width: double.infinity,
|
|
child: OutlinedButton.icon(
|
|
onPressed: () => Navigator.pop(context),
|
|
icon: const Icon(Icons.arrow_back),
|
|
label: const Text('Volver'),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|