import 'package:appwrite/appwrite.dart'; import 'package:flutter/material.dart'; import 'appwrite_config.dart'; import 'screens/auth/auth_screen.dart'; import 'screens/app_logged_in_gate.dart'; import 'theme/app_theme.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); runApp(const HandwerksApp()); } class HandwerksApp extends StatefulWidget { const HandwerksApp({super.key}); @override State createState() => _HandwerksAppState(); } class _HandwerksAppState extends State { bool _checking = true; bool _loggedIn = false; @override void initState() { super.initState(); _probeSession(); } Future _probeSession() async { setState(() => _checking = true); try { await Account(appwriteClient).get(); if (mounted) { setState(() { _loggedIn = true; _checking = false; }); } } catch (_) { if (mounted) { setState(() { _loggedIn = false; _checking = false; }); } } } @override Widget build(BuildContext context) { return MaterialApp( title: 'HandwerkPro', debugShowCheckedModeBanner: false, theme: AppTheme.dark(), home: _checking ? const Scaffold( backgroundColor: AppTheme.background, body: Center(child: CircularProgressIndicator()), ) : _loggedIn ? AppLoggedInGate( onLoggedOut: () { setState(() => _loggedIn = false); }, ) : AuthScreen( onLoggedIn: () { setState(() => _loggedIn = true); }, ), ); } }