Todo basics added
This commit is contained in:
@@ -12,7 +12,7 @@ import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:tasktracker/Categories.dart';
|
||||
import 'package:tasktracker/Journal.dart';
|
||||
import 'package:tasktracker/Projects.dart';
|
||||
import 'package:tasktracker/Todo.dart';
|
||||
import 'package:tasktracker/Todos.dart';
|
||||
import 'package:tasktracker/Welcome.dart';
|
||||
import 'package:tasktracker/splash.dart';
|
||||
import 'package:tasktracker/theme_provider.dart';
|
||||
@@ -113,7 +113,8 @@ class MyApp extends StatelessWidget {
|
||||
'/Activities': (context) => const Activities(),
|
||||
'/Settings': (context) => const SettingsPage(),
|
||||
'/Projects':(context)=> const Projects(),
|
||||
'/Journal': (context)=> const JournalPage()
|
||||
'/Journal': (context)=> const JournalPage(),
|
||||
'/Todos':(context)=> const TodosPage()
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -205,7 +206,7 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
// }
|
||||
hourglassTime = ((DateTime.now().hour * 60) + DateTime.now().minute) / 1440;
|
||||
// hourglassTime = 1;
|
||||
print('hourglass time : $hourglassTime');
|
||||
// print('hourglass time : $hourglassTime');
|
||||
hourglassColors =[];
|
||||
hourglassStops = [];
|
||||
hourglassTotalTime=0;
|
||||
@@ -214,11 +215,11 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
hourglassTotalTime+=element.time;
|
||||
// }
|
||||
});
|
||||
print('hourglass cat data');
|
||||
// print('hourglass cat data');
|
||||
double stopsTotal = 0;
|
||||
for(int i =0 ; i < hourglassCatData.length; i++) {
|
||||
CatMapData element = hourglassCatData[i];
|
||||
print('${element.name} : ${element.time} / $hourglassTotalTime = ${element.time / hourglassTotalTime}');
|
||||
// print('${element.name} : ${element.time} / $hourglassTotalTime = ${element.time / hourglassTotalTime}');
|
||||
double thisStop = ( element.time/hourglassTotalTime);
|
||||
hourglassColors.add(element.color);
|
||||
hourglassStops.add(stopsTotal+thisStop);
|
||||
@@ -228,14 +229,14 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
hourglassStops.add(stopsTotal+thisStop + 0.001);
|
||||
}
|
||||
}
|
||||
print('total Stops ${stopsTotal}');
|
||||
print('maxT: $hourglassTotalTime');
|
||||
// print('total Stops ${stopsTotal}');
|
||||
// print('maxT: $hourglassTotalTime');
|
||||
if(hourglassColors.isEmpty){
|
||||
hourglassColors.add(Colors.black);
|
||||
hourglassStops.add(1);
|
||||
}
|
||||
|
||||
print('hourglass \n$hourglassColors \n$hourglassStops');
|
||||
// print('hourglass \n$hourglassColors \n$hourglassStops');
|
||||
setState(() {
|
||||
|
||||
});
|
||||
@@ -292,6 +293,7 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
}
|
||||
}
|
||||
bool loadingStats = false;
|
||||
DateFormat dFormat = DateFormat("yyyy-MM-dd");
|
||||
void LoadStats() async {
|
||||
// return;
|
||||
// await User.refreshUserData();
|
||||
@@ -304,7 +306,7 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
}
|
||||
await Refresh();
|
||||
|
||||
DateFormat dFormat = DateFormat("MM/dd");
|
||||
|
||||
Map<Category, int> catTimeMap = <Category, int>{};
|
||||
Map<Category, int> catBriefMap = <Category, int>{};
|
||||
|
||||
@@ -354,13 +356,16 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
taskTypesDuration.putIfAbsent(element.taskType, () => thisMinutes);
|
||||
}
|
||||
}
|
||||
|
||||
if (element.taskType.cat?.productive ?? false) {
|
||||
if (lastProductive == null) {
|
||||
lastProductive = element.trueEndTime;
|
||||
}}
|
||||
if ((element.startTime.isAfter(prodRange!.start) && element.startTime.isBefore(prodRange!.end)) ||
|
||||
(dFormat.format(element.startTime) == dFormat.format(prodRange!.start) || dFormat.format(element.startTime) == dFormat.format(prodRange!.end))) {
|
||||
if (element.taskType.cat?.productive ?? false) {
|
||||
if (lastProductive == null) {
|
||||
lastProductive = element.trueEndTime;
|
||||
}
|
||||
// if (lastProductive == null) {
|
||||
// lastProductive = element.trueEndTime;
|
||||
// }
|
||||
if (productivtyActs.containsKey(thisDate)) {
|
||||
productivtyActs[thisDate] = (productivtyActs[thisDate]! + thisMinutes);
|
||||
} else {
|
||||
@@ -728,15 +733,19 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
series: <LineSeries<ProductivityMapData, String>>[
|
||||
LineSeries<ProductivityMapData, String>(
|
||||
// Bind data source
|
||||
markerSettings: MarkerSettings(isVisible: true, shape: DataMarkerType.circle),
|
||||
dataSource: productivityData.reversed.toList(),
|
||||
xValueMapper: (ProductivityMapData sales, _) => sales.day,
|
||||
xValueMapper: (ProductivityMapData sales, _) => DateFormat('MM-dd').format(dFormat.parse(sales.day)),
|
||||
yValueMapper: (ProductivityMapData sales, _) => sales.productivity,
|
||||
dataLabelMapper: (ProductivityMapData sales, _) => sales.productivity.toStringAsFixed(1) + "%",
|
||||
dataLabelSettings: DataLabelSettings(overflowMode: OverflowMode.hide, showZeroValue: false, isVisible: true),
|
||||
onPointTap: (ChartPointDetails point){
|
||||
showAlertDialog(context, productivityData[point.pointIndex!].day, "I'll show you detailed info about this day in future, When my master creates the feature");
|
||||
Dialogs.showJournalLink(dFormat.parse(productivityData[productivityData.length-point.pointIndex!-1].day));
|
||||
//showAlertDialog(context, productivityData[point.pointIndex!].day, "I'll show you detailed info about this day in future, When my master creates the feature");
|
||||
},
|
||||
color: Colors.green)
|
||||
pointColorMapper: (ProductivityMapData sales, _)=> (User.journalExists(dFormat.parse(sales.day)) ? Colors.lightGreenAccent : Colors.green)
|
||||
)
|
||||
//color: User.journalExists(dFormat.parse(productivityData[(productivityData.length-point.pointIndex!-1) as int].day)) ?Colors.green : Colors.red,
|
||||
]),
|
||||
),
|
||||
SizedBox(height: 20,),
|
||||
@@ -778,7 +787,6 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
child: SfCircularChart(legend: Legend(isVisible: true,position: LegendPosition.bottom,overflowMode: LegendItemOverflowMode.wrap), series: <CircularSeries>[
|
||||
// Render pie chart
|
||||
PieSeries<CatMapData, String>(
|
||||
|
||||
dataSource: dailyData,
|
||||
pointColorMapper: (CatMapData data, _) => data.color,
|
||||
xValueMapper: (CatMapData data, _) => data.name,
|
||||
@@ -1013,6 +1021,17 @@ Drawer navDrawer(BuildContext context, int pageIndex) {
|
||||
Navigator.of(context).pushReplacementNamed('/Projects');
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
selected: (pageIndex == 9),
|
||||
title: Text('To-Do'),
|
||||
leading: FaIcon(FontAwesomeIcons.calendarCheck, color: Theme.of(context).primaryColor),
|
||||
onTap: () {
|
||||
if (pageIndex == 9) {
|
||||
return;
|
||||
}
|
||||
Navigator.of(context).pushReplacementNamed('/Todos');
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
selected: (pageIndex == 8),
|
||||
title: Text('Journal'),
|
||||
|
||||
Reference in New Issue
Block a user