Files
TelemetryMonitor/lib/app.dart
2026-04-21 19:38:20 -03:00

50 lines
1.3 KiB
Dart

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(),
),
),
);
}
}