import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:go_router/go_router.dart'; import '../../../core/pairing/pairing_bloc.dart'; class SearchingScreen extends StatelessWidget { const SearchingScreen({super.key}); @override Widget build(BuildContext context) { return BlocListener( listener: (context, state) { if (state is PairingBestieFound) { context.go('/chat/found', extra: { 'sessionId': state.sessionId, 'mitraName': state.mitraName, }); } else if (state is PairingNoBestie) { context.go('/chat/no-bestie'); } else if (state is PairingCancelled) { context.go('/home'); } }, child: Scaffold( body: Center( child: Padding( padding: const EdgeInsets.all(32), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const CircularProgressIndicator(), const SizedBox(height: 32), const Text( 'Mencari Bestie...', style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), ), const SizedBox(height: 8), const Text( 'Tunggu sebentar ya, kami sedang mencarikan Bestie untukmu', textAlign: TextAlign.center, style: TextStyle(fontSize: 16, color: Colors.grey), ), const SizedBox(height: 48), OutlinedButton( onPressed: () => context.read().add(CancelPairing()), child: const Text('Batalkan'), ), ], ), ), ), ), ); } }