Initial Commit

This commit is contained in:
ImBenji
2025-12-27 18:24:05 +00:00
commit 21d95e7a9f
142 changed files with 8062 additions and 0 deletions

63
lib/main.dart Normal file
View File

@@ -0,0 +1,63 @@
import 'package:go_router/go_router.dart';
import 'package:proto_portal/pages/audit.dart';
import 'package:proto_portal/pages/home.dart';
import 'package:proto_portal/pages/login.dart';
import 'package:proto_portal/scraper.dart';
import 'package:provider/provider.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
GtiAuth _auth = GtiAuth();
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await _auth.init();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider<GtiAuth>.value(
value: _auth,
),
],
child: ShadcnApp.router(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorSchemes.darkViolet,
surfaceOpacity: 1
),
routerConfig: _router,
),
);
}
}
GoRouter _router = GoRouter(
initialLocation: "/station",
redirect: (context, state) {
if (!_auth.isAuthenticated) {
return LoginPage.route.path;
}
if (state.uri.path == "/") {
return StationPage.route.path;
}
return null;
},
routes: [
LoginPage.route,
StationPage.route,
AuditPage.route,
],
);