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>
This commit is contained in:
athul rd
2026-10-19 15:51:09 +05:30
co-authored by Claude Opus 5.5
parent 19a79d6126
commit 2dbd1a2ea9
66 changed files with 1463 additions and 140 deletions
+3 -1
View File
@@ -2,6 +2,7 @@ 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';
@@ -9,6 +10,7 @@ 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));
}
@@ -20,7 +22,7 @@ class ScalarEssApp extends StatelessWidget {
Widget build(BuildContext context) {
final api = ApiService(settings);
return MaterialApp(
title: 'Scalar360 Attendance',
title: 'Scalar Presence',
debugShowCheckedModeBanner: false,
theme: buildTheme(),
home: settings.isLoggedIn