import 'package:flutter/material.dart'; import 'package:audio_service/audio_service.dart'; import 'database/db_helper.dart'; import 'services/favoriten_service.dart'; import 'services/melo_logger.dart'; import 'services/audio_handler.dart'; import 'utils/farb_theme.dart'; import 'screens/home_screen.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); // Logger startet sofort – zeichnet ALLES auf MeloLogger().init('2.38'); try { await DbHelper().db; await FavoritenService().init(); // Hintergrund-Audio-Service starten await AudioService.init( builder: () => MeloAudioHandler(), config: const AudioServiceConfig( androidNotificationChannelId: 'de.baka.melo.audio', androidNotificationChannelName: 'Melo Wiedergabe', androidNotificationOngoing: true, ), ); MeloLogger().zustand('start_ok', {'db': 'ok', 'audio': 'ok'}); } catch (e, stack) { MeloLogger().fehler('App-Start', e, stack); } runApp(const MeloApp()); } class MeloApp extends StatelessWidget { const MeloApp({super.key}); @override Widget build(BuildContext context) { // Reagiert live auf Akzent-Änderungen (Login-Effekt pro Person) return ValueListenableBuilder( valueListenable: MeloTheme.akzentNotifier, builder: (context, akzent, _) => MaterialApp( title: 'Melo', debugShowCheckedModeBanner: false, theme: MeloTheme.theme, home: const Scaffold(body: MeloHome()), ), ); } }