import 'package:flutter/material.dart'; import 'config/settings.dart'; import 'export/csv_exporter.dart'; import 'layout/layout_controller.dart'; import 'session/session_controller.dart'; import 'ui/app_scope.dart'; import 'ui/tab_scaffold.dart'; class TelemetryApp extends StatelessWidget { const TelemetryApp({ super.key, required this.session, required this.layout, required this.settings, required this.exporter, }); final SessionController session; final LayoutController layout; final Settings settings; final CsvExporter exporter; @override Widget build(BuildContext context) { return ListenableBuilder( listenable: settings, builder: (_, __) => MaterialApp( title: 'Telemetry Monitor', theme: ThemeData( useMaterial3: true, colorSchemeSeed: Colors.blueGrey, ), darkTheme: ThemeData( useMaterial3: true, colorSchemeSeed: Colors.blueGrey, brightness: Brightness.dark, ), themeMode: settings.darkMode ? ThemeMode.dark : ThemeMode.light, home: AppScope( session: session, layout: layout, settings: settings, exporter: exporter, child: const TabScaffold(), ), ), ); } }