import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../providers/providers.dart'; class LoginPage extends ConsumerWidget { const LoginPage({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { return Scaffold( body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text( 'Plan B Logistics', style: Theme.of(context).textTheme.displayMedium?.copyWith( color: Theme.of(context).colorScheme.primary, ), ), const SizedBox(height: 16), Text( 'Delivery Management System', style: Theme.of(context).textTheme.bodyMedium, ), const SizedBox(height: 40), ElevatedButton( onPressed: () async { final authService = ref.read(authServiceProvider); final result = await authService.login(); result.when( success: (token) { if (context.mounted) { // ignore: unused_result ref.refresh(isAuthenticatedProvider); } }, onError: (error) { if (context.mounted) { ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text('Login failed: $error')), ); } }, cancelled: () {}, ); }, style: ElevatedButton.styleFrom( padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16), ), child: const Text('Login with Keycloak'), ), ], ), ), ); } }