import 'package:auto_route/auto_route.dart'; import 'package:flutter/services.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:spotube/hooks/configurators/use_check_yt_dlp_installed.dart'; import 'package:spotube/hooks/configurators/use_endless_playback.dart'; import 'package:spotube/modules/root/spotify_shell.dart'; import 'package:spotube/modules/root/use_global_subscriptions.dart'; import 'package:spotube/provider/glance/glance.dart'; @RoutePage() class RootAppPage extends HookConsumerWidget { const RootAppPage({super.key}); @override Widget build(BuildContext context, ref) { final backgroundColor = Theme.of(context).colorScheme.background; final brightness = Theme.of(context).brightness; ref.listen(glanceProvider, (_, __) {}); useGlobalSubscriptions(ref); useEndlessPlayback(ref); useCheckYtDlpInstalled(ref); useEffect(() { SystemChrome.setSystemUIOverlayStyle( SystemUiOverlayStyle( statusBarColor: backgroundColor, statusBarIconBrightness: brightness == Brightness.dark ? Brightness.light : Brightness.dark, ), ); return null; }, [backgroundColor, brightness]); return const SpotifyShell(); } }