import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import '../../core/constants.dart'; import '../../providers/auth_provider.dart'; import '../../providers/settings_provider.dart'; class SplashScreen extends ConsumerStatefulWidget { const SplashScreen({super.key}); @override ConsumerState createState() => _SplashScreenState(); } class _SplashScreenState extends ConsumerState { @override void initState() { super.initState(); _check(); } Future _check() async { final serverUrl = ref.read(serverUrlProvider); if (serverUrl == null || serverUrl.isEmpty) { if (mounted) context.go(Routes.setup); return; } await ref.read(authProvider.notifier).verify(); if (!mounted) return; final status = ref.read(authProvider); if (status == AuthStatus.authenticated) { context.go(Routes.notes); } else { context.go(Routes.login); } } @override Widget build(BuildContext context) { return const Scaffold( body: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ Text('Fabled', style: TextStyle(fontSize: 32, fontWeight: FontWeight.bold)), SizedBox(height: 24), CircularProgressIndicator(), ], ), ), ); } }