tracpulse/lib/main.dart
fiatcode 4ce1f51062
refactor: extract consistent AppBar builder, remove icon from EVENT LOG title
- Add buildTracPulseAppBar() helper in lib/app_bar.dart
  - Reads backgroundColor/elevation from ThemeData.appBarTheme
  - Consistent back button (#9e9e9e, size 20) via Navigator.pop
  - Monospace title style (14px, weight 700, letter-spacing 2)
  - Optional onTitleTap for tappable titles
- Update all screens to use the new helper, removing redundant overrides
- Remove terminal icon from status_screen title, use plain centered text
- Change appBarTheme centerTitle to false (left-aligned)
- Remove bottom dividers from all screens
2026-05-06 08:01:12 +07:00

65 lines
1.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'main_screen.dart';
import 'permission_screen.dart';
import 'preferences.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Preferences.init();
// Keep status bar dark throughout the app
SystemChrome.setSystemUIOverlayStyle(
const SystemUiOverlayStyle(
statusBarColor: Color(0xFF0d0d0d),
statusBarIconBrightness: Brightness.light,
),
);
runApp(const TracPulseApp());
}
class TracPulseApp extends StatelessWidget {
const TracPulseApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'TracPulse',
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
brightness: Brightness.dark,
scaffoldBackgroundColor: const Color(0xFF0d0d0d),
colorScheme: const ColorScheme.dark(
surface: Color(0xFF0d0d0d),
primary: Color(0xFF00bcd4),
secondary: Color(0xFF00e676),
),
appBarTheme: const AppBarTheme(
centerTitle: false,
backgroundColor: Color(0xFF161616),
foregroundColor: Color(0xFFe0e0e0),
elevation: 0,
),
snackBarTheme: const SnackBarThemeData(
backgroundColor: Color(0xFF1a1a1a),
contentTextStyle: TextStyle(
fontFamily: 'monospace',
color: Color(0xFFe0e0e0),
),
),
pageTransitionsTheme: const PageTransitionsTheme(
builders: {
TargetPlatform.android: ZoomPageTransitionsBuilder(),
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
},
),
),
home: Preferences.permissionsGranted
? const MainScreen()
: const PermissionScreen(),
);
}
}