ltx-flutter/ltx_flutter/lib/main.dart

68 lines
2.3 KiB
Dart

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<AuthAPI>().status;
return MaterialApp(
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"),
// ),
// ])),
// ));
// }
}
}