Files
Scalar360_Attendence/lib/main.dart
T
athul rdandClaude Opus 5.5 2dbd1a2ea9 Scalar Presence: brand-panel login (light/dark), Poppins, splash and launcher icons, fixed API base via dart-define, keep-signed-in, Android project
- Login reworked to the Brand panel layout with a dark-theme switch; 'Scalar Presence' two-line wordmark
- Android project now tracked (was gitignored); pins shared_preferences_android 2.4.27 (2.5.0 crashed with a black screen)
- API base URL fixed per build (--dart-define=API_BASE_URL), no in-app server setting

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 15:51:09 +05:30

34 lines
982 B
Dart

import 'package:flutter/material.dart';
import 'api_service.dart';
import 'settings.dart';
import 'theme.dart';
import 'screens/auth_shell.dart';
import 'screens/login_screen.dart';
import 'screens/home_screen.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final settings = Settings();
await settings.load();
if (settings.isLoggedIn && !await KeepSignedIn.wanted()) await settings.clearSession();
runApp(ScalarEssApp(settings: settings));
}
class ScalarEssApp extends StatelessWidget {
final Settings settings;
const ScalarEssApp({super.key, required this.settings});
@override
Widget build(BuildContext context) {
final api = ApiService(settings);
return MaterialApp(
title: 'Scalar Presence',
debugShowCheckedModeBanner: false,
theme: buildTheme(),
home: settings.isLoggedIn
? HomeScreen(api: api, settings: settings)
: LoginScreen(api: api, settings: settings),
);
}
}