import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:frontend/providers/auth.dart'; import 'package:frontend/providers/game_messages.dart'; import 'package:go_router/go_router.dart'; import 'package:logging/logging.dart'; final logger = Logger('GameRoomHome'); class GameRoomHome extends ConsumerStatefulWidget { const GameRoomHome({super.key, this.roomUuid}); final String? roomUuid; @override ConsumerState<GameRoomHome> createState() => _GameRoomHomeState(); } class _GameRoomHomeState extends ConsumerState<GameRoomHome> { @override Widget build(BuildContext context) { final jwt = ref.watch(jwtBodyProvider); if (jwt == null || jwt.roomUuid != widget.roomUuid) { logger.fine('Tried to open room, but not authenticated / wrong room'); // return home context.go('/'); } // enstablish ws connection at /room/roomCode/ws and save to gameMessageProvider ref.read(gameMessageNotifierProvider.notifier).connect(jwt!.roomUuid); return Column( children: [ Text('Authenticated.'), Text('Welcome to room ${widget.roomUuid}'), ], ); } }