2025-08-20 23:05:07 +09:00
|
|
|
import 'package:flutter/material.dart';
|
2025-08-26 23:40:30 +09:00
|
|
|
import 'package:flutter/foundation.dart'; // For kDebugMode
|
2026-02-09 21:43:41 +09:00
|
|
|
import 'screens/speedometer_screen.dart';
|
2026-02-09 21:45:56 +09:00
|
|
|
import 'screens/overlay_screen.dart';
|
2026-02-09 21:43:41 +09:00
|
|
|
import 'services/logger.dart';
|
2025-08-20 23:05:07 +09:00
|
|
|
|
|
|
|
|
void main() {
|
2025-08-24 23:14:19 +09:00
|
|
|
runApp(const SpeedoApp());
|
2025-08-20 23:05:07 +09:00
|
|
|
}
|
|
|
|
|
|
2025-08-25 23:03:31 +09:00
|
|
|
// Entry point for overlay window
|
|
|
|
|
@pragma("vm:entry-point")
|
|
|
|
|
void overlayMain() {
|
2026-02-09 21:33:28 +09:00
|
|
|
Logger.info('overlayMain() called', 'Overlay');
|
2025-08-25 23:40:58 +09:00
|
|
|
runApp(const MaterialApp(
|
2025-08-25 23:03:31 +09:00
|
|
|
debugShowCheckedModeBanner: false,
|
2025-08-25 23:40:58 +09:00
|
|
|
home: OverlaySpeedometer(),
|
2025-08-25 23:03:31 +09:00
|
|
|
));
|
2025-08-24 22:35:20 +09:00
|
|
|
}
|
|
|
|
|
|
2025-08-24 23:14:19 +09:00
|
|
|
class SpeedoApp extends StatelessWidget {
|
2025-08-24 22:35:20 +09:00
|
|
|
final bool isOverlayMode;
|
|
|
|
|
|
2025-08-24 23:14:19 +09:00
|
|
|
const SpeedoApp({super.key, this.isOverlayMode = false});
|
2025-08-20 23:05:07 +09:00
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
2025-08-24 22:35:20 +09:00
|
|
|
return MaterialApp(
|
2025-08-24 23:14:19 +09:00
|
|
|
title: 'Speedo',
|
2025-08-24 22:35:20 +09:00
|
|
|
debugShowCheckedModeBanner: false,
|
|
|
|
|
theme: ThemeData(
|
|
|
|
|
useMaterial3: true,
|
|
|
|
|
brightness: Brightness.dark,
|
|
|
|
|
colorSchemeSeed: Colors.green,
|
2025-08-20 23:05:07 +09:00
|
|
|
),
|
2025-08-24 22:35:20 +09:00
|
|
|
home: SpeedometerScreen(isOverlayMode: isOverlayMode),
|
2025-08-20 23:05:07 +09:00
|
|
|
);
|
|
|
|
|
}
|
2025-08-24 22:35:20 +09:00
|
|
|
}
|