From fd60fca74688559662d2987aa969cf8d7d4adbb4 Mon Sep 17 00:00:00 2001 From: Sewmina Date: Wed, 4 May 2022 15:58:49 +0530 Subject: [PATCH] After a long time, No idea whats changed --- lib/Analytics.dart | 129 +++++++++++++++++++++++++++------------------ lib/Data.dart | 6 +-- lib/User.dart | 39 +++++++------- lib/main.dart | 6 ++- 4 files changed, 106 insertions(+), 74 deletions(-) diff --git a/lib/Analytics.dart b/lib/Analytics.dart index 1be59c1..a62846d 100644 --- a/lib/Analytics.dart +++ b/lib/Analytics.dart @@ -56,62 +56,89 @@ class _AnalyticsPageState extends State { children: [ landscape?navDrawer(context, 1) : Container(), Expanded( - child: SingleChildScrollView( - scrollDirection: Axis.vertical, - child: Container( - padding: EdgeInsets.all(8), - child:Column( - children: [ - Card( - child: Container( - padding: EdgeInsets.symmetric(horizontal: 15, vertical: 5), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text('Average Day',style: TextStyle(fontSize: 17)), - MaterialButton( + child: Align( + alignment: Alignment.topCenter , + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Container( + padding: EdgeInsets.all(8), + child:Column( + children: [ + Card( + child: Container( + padding: EdgeInsets.symmetric(horizontal: 15, vertical: 5), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('Average Day',style: TextStyle(fontSize: 17)), + MaterialButton( - color: Colors.green, - onPressed: (){ - Navigator.of(context).push(MaterialPageRoute(builder: (context)=> AvgDayPage())); - }, - child: Text('More...'), - ) - ], - ), - Divider(), - Container( - height: 400, - padding: EdgeInsets.all(10), - child: Padding( - padding: EdgeInsets.all(8), - child: (!days.isEmpty) - ? Column( - children: [ + color: Colors.green, + onPressed: (){ + Navigator.of(context).push(MaterialPageRoute(builder: (context)=> AvgDayPage())); + }, + child: Text('More...'), + ) + ], + ), + Divider(), + Container( + height: 400, + padding: EdgeInsets.all(10), + child: Padding( + padding: EdgeInsets.all(8), + child: (!days.isEmpty) + ? Column( + children: [ - Expanded( - child: SfCircularChart(legend: Legend(isVisible: true,position: LegendPosition.bottom,overflowMode: LegendItemOverflowMode.wrap), series: [ - // Render pie chart - PieSeries( - dataSource: avgDayData, - pointColorMapper: (CatMapData data, _) => data.color, - xValueMapper: (CatMapData data, _) => data.name, - yValueMapper: (CatMapData data, _) => data.time, - dataLabelMapper: (CatMapData sales, _) => MinutesToTimeString(sales.time), - dataLabelSettings: DataLabelSettings(isVisible: true, useSeriesColor: true, overflowMode: OverflowMode.shift, showZeroValue: false)) - ])) - ], - ) - : Row(mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [CircularProgressIndicator()]))), + Expanded( + child: SfCircularChart(legend: Legend(isVisible: true,position: LegendPosition.bottom,overflowMode: LegendItemOverflowMode.wrap), series: [ + // Render pie chart + PieSeries( + dataSource: avgDayData, + pointColorMapper: (CatMapData data, _) => data.color, + xValueMapper: (CatMapData data, _) => data.name, + yValueMapper: (CatMapData data, _) => data.time, + dataLabelMapper: (CatMapData sales, _) => MinutesToTimeString(sales.time), + dataLabelSettings: DataLabelSettings(isVisible: true, useSeriesColor: true, overflowMode: OverflowMode.shift, showZeroValue: false)) + ])) + ], + ) + : Row(mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, children: [CircularProgressIndicator()]))), - ], + ], + ), + ) + ), + Card( + child: Container( + padding: EdgeInsets.all(8), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Text("Compare",style: TextStyle(fontSize: 17)), + ], + ), + Divider(), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + MaterialButton(color: Colors.blue,onPressed: (){}, child: Text("Task Types"),), + MaterialButton(color: Colors.blue,onPressed: (){}, child: Text("Categories"),), + MaterialButton(color: Colors.blue,onPressed: (){}, child: Text("Days"),), + ], + ) + ], + ), ), ) - ) - ], - ) + ], + ) + ), ), ), ), diff --git a/lib/Data.dart b/lib/Data.dart index c9518c8..1238360 100644 --- a/lib/Data.dart +++ b/lib/Data.dart @@ -184,9 +184,9 @@ class Settings{ }else{ var uuid = Uuid(); String _uuid = uuid.v4(); - if(Platform.isAndroid){ - - } + // if(Platform.isAndroid){ + // + // } await prefs.setString('uuid',_uuid); return Future.value(_uuid); } diff --git a/lib/User.dart b/lib/User.dart index b251c82..202340d 100644 --- a/lib/User.dart +++ b/lib/User.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:io'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart' as K; import 'package:intl/intl.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:tasktracker/NewProject.dart'; @@ -19,7 +20,7 @@ import 'package:sqflite_common/sqlite_api.dart'; import 'Tasks.dart'; import 'Dialogs.dart'; -bool cacheEnabled = true; +bool cacheEnabled = !K.kIsWeb; late http.Response loginResponse; @@ -63,15 +64,16 @@ Future login(String _username, String password) async { Future initUserData() async { if (cacheEnabled) { await initCacheDatabase(); + int catCount = Sqflite.firstIntValue(await cacheDb.rawQuery('SELECT COUNT(*) FROM Categories')) ?? 0; + int taskCount = Sqflite.firstIntValue(await cacheDb.rawQuery('SELECT COUNT(*) FROM TaskTypes')) ?? 0; + if(catCount > 0 && taskCount > 0){ + await refreshUserData(forceOffline: true); + refreshUserData(); + }else{ + await refreshUserData(); + } } - int catCount = Sqflite.firstIntValue(await cacheDb.rawQuery('SELECT COUNT(*) FROM Categories')) ?? 0; - int taskCount = Sqflite.firstIntValue(await cacheDb.rawQuery('SELECT COUNT(*) FROM TaskTypes')) ?? 0; - if(catCount > 0 && taskCount > 0){ - await refreshUserData(forceOffline: true); - refreshUserData(); - }else{ - await refreshUserData(); - } + BuildBridgeToServer(); Debug.Log('Initializing UserData...'); @@ -156,7 +158,7 @@ Future refreshUserData({bool forceOffline = false}) async { refreshStream.add(false); } else { - if(false) { + if(K.kIsWeb) { Debug.LogTest('updating cats ${DateTime.now()}'); categories = await GetCategories(false); Debug.LogTest('updating projs ${DateTime.now()}'); @@ -197,12 +199,13 @@ Future refreshUserData({bool forceOffline = false}) async { Debug.LogTest('Done filling @ ${DateTime.now()}'); - categories = await GetCategories(true); - projects = await GetProjects(true); - taskTypes = await GetTaskTypes(true); - activities = await GetActivities(true); - journal = await GetJournals(true); - todos = await GetTodos(true); + + categories = await GetCategories(true); + projects = await GetProjects(true); + taskTypes = await GetTaskTypes(true); + activities = await GetActivities(true); + journal = await GetJournals(true); + todos = await GetTodos(true); } catch (e) { @@ -220,7 +223,7 @@ Future refreshUserData({bool forceOffline = false}) async { } Future cacheDbExist() async { - if (Platform.isAndroid || Platform.isIOS) { + if (!K.kIsWeb && Platform.isAndroid || Platform.isIOS) { Directory directory = await getApplicationDocumentsDirectory(); return databaseFactory.databaseExists(directory.path + 'cache.db'); } else { @@ -248,7 +251,7 @@ Future updateProjectsList() async { Future initCacheDatabase() async { Directory directory = await getApplicationDocumentsDirectory(); Debug.LogResponse('database at ' + directory.path + '/cache.db'); - if (Platform.isAndroid || Platform.isIOS) { + if (!K.kIsWeb && Platform.isAndroid || Platform.isIOS) { cacheDb = await openDatabase(directory.path + 'cache.db', version: 1, onCreate: onCacheDatabaseCreate, onUpgrade: onCacheDatabaseUpgrade); } else { cacheDb = await SqlFF.databaseFactoryFfi diff --git a/lib/main.dart b/lib/main.dart index a6fd750..0b8f2df 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:io'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart' as K; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; @@ -29,6 +30,7 @@ import 'package:syncfusion_flutter_charts/charts.dart'; import 'Dialogs.dart'; import 'CustomWidgets.dart'; import 'package:firebase_core/firebase_core.dart'; + final GlobalKey navigatorKey = new GlobalKey(); showAlertDialog(BuildContext context, String title, String message) { // set up the button @@ -76,9 +78,9 @@ extension HexColor on Color { void main() async { //Wakelock.enable(); // or Wakelock.toggle(on: true); - WidgetsFlutterBinding.ensureInitialized(); - if(Platform.isAndroid || Platform.isIOS){ + if(!K.kIsWeb &&(Platform.isAndroid || Platform.isIOS)){ + WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); } //