import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:ltx_flutter/pages/tabs_page.dart'; import 'package:ltx_flutter/appwrite/auth_api.dart'; import 'package:ltx_flutter/appwrite/database_api.dart'; import 'package:ltx_flutter/appwrite/categories_api.dart'; import 'package:ltx_flutter/pages/login_page.dart'; import 'package:provider/provider.dart'; void main() { runApp(MultiProvider( providers: [ ChangeNotifierProvider(create: (context) => AuthAPI()), ChangeNotifierProvider(create: (context) => DatabaseAPI()), ChangeNotifierProvider(create: (context) => CategoriesAPI()), ], child: LifetrackerApp(), )); } class LifetrackerApp extends StatelessWidget { final TextStyle baseStyle = TextStyle(fontFamily: "monospace"); @override Widget build(BuildContext context) { final loginStatus = context.watch().status; return MaterialApp( debugShowCheckedModeBanner: false, scrollBehavior: const MaterialScrollBehavior().copyWith(dragDevices: { PointerDeviceKind.mouse, PointerDeviceKind.touch, PointerDeviceKind.trackpad, }), title: 'Lifetracker', theme: ThemeData.from( colorScheme: ColorScheme.dark(), ), home: loginStatus == AuthStatus.uninitialized ? const Scaffold( body: Center(child: CircularProgressIndicator()), ) : loginStatus == AuthStatus.authenticated ? const TabsPage() : LoginPage()); // DefaultTabController( // length: 3, // child: Scaffold( // appBar: AppBar( // title: Text("Lifetracker"), // bottom: const TabBar( // tabs: [ // Tab(icon: Icon(Icons.table_chart_sharp)), // Tab(icon: Icon(Icons.account_circle_sharp)), // Tab(icon: Icon(Icons.settings_backup_restore)), // ], // ), // ), // body: TabBarView(children: [ // TableOrPlaceholder(baseStyle: baseStyle), // AccountPage(), // Center( // child: Text("Database settings"), // ), // ])), // )); // } } }