diff --git a/lib/Data.dart b/lib/Data.dart index f756f83..cb06fe5 100644 --- a/lib/Data.dart +++ b/lib/Data.dart @@ -118,6 +118,7 @@ class Project{ static String colCat="category_id"; static String colSteps = "steps"; static String colDeadline = "deadline"; + static String colEta = "eta"; } class ProjectStep{ diff --git a/lib/NewTask.dart b/lib/NewTask.dart index df705ee..d0f8312 100644 --- a/lib/NewTask.dart +++ b/lib/NewTask.dart @@ -31,6 +31,7 @@ class _NewTaskState extends State { @override Widget build(BuildContext context) { + List cats = getCategoryNames(); return Scaffold( appBar: AppBar(title: Text('New Task Type')), body: Container( @@ -77,7 +78,7 @@ class _NewTaskState extends State { borderRadius: BorderRadius.circular(10), value: selectedCat, isExpanded: true, - items: getCategoryNames().map>( + items: cats.map>( (String value) { return DropdownMenuItem( diff --git a/lib/Projects.dart b/lib/Projects.dart index 62efacf..a973815 100644 --- a/lib/Projects.dart +++ b/lib/Projects.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:intl/intl.dart'; import 'package:tasktracker/Data.dart'; import 'package:tasktracker/NewProject.dart'; @@ -30,7 +31,7 @@ class _ProjectsState extends State { super.dispose(); refreshSub?.close(); } - + int selectedPage = 0; @override Widget build(BuildContext context) { return SafeArea(child: Scaffold( @@ -40,6 +41,18 @@ class _ProjectsState extends State { }, label: Text("New Project"), icon: Icon(Icons.add)), + bottomNavigationBar: BottomNavigationBar( + items: [ + BottomNavigationBarItem(icon: FaIcon(FontAwesomeIcons.newspaper),label:'Summary'), + BottomNavigationBarItem(icon: FaIcon(FontAwesomeIcons.info),label:'Details'), + ], + onTap: (val){ + selectedPage= val; + setState(() { + + }); + }, + ), appBar: AppBar( title: Column( mainAxisSize: MainAxisSize.max, @@ -72,7 +85,9 @@ class _ProjectsState extends State { ], )), drawer: navDrawer(context, 7), - body: Container( + body: (selectedPage == 0) ? + Container(child:Text('Summary goes here')) + :Container( padding: EdgeInsets.all(10), child: Column( children: printProjects(), @@ -100,49 +115,53 @@ class _ProjectsState extends State { children:[ Expanded( child: Card( - child:InkWell( - onLongPress: (){ - Dialogs.showProjectDetails(project); - }, - child: Padding( - padding: const EdgeInsets.all(10.0), - child: Column( - children: [ - Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text(project.name ,style: TextStyle(fontSize: 18)), - Container( - decoration: BoxDecoration( - color: (project.cat!.productive) ?Colors.green : Colors.red, - borderRadius: BorderRadius.circular(8) - ), - child:Padding( - padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 2), - child: Text(project.cat!.name), - )) - ], - ), - Divider(), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text("${project.steps.length} steps"), - Container( + child:AnimatedContainer( + duration: const Duration(milliseconds: 200), + height: 100, + child: InkWell( + onLongPress: (){ + Dialogs.showProjectDetails(project); + }, + child: Padding( + padding: const EdgeInsets.all(10.0), + child: Column( + children: [ + Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text(project.name ,style: TextStyle(fontSize: 18)), + Container( decoration: BoxDecoration( - color: Colors.redAccent, - borderRadius: BorderRadius.circular(8) + color: (project.cat!.productive) ?Colors.green : Colors.red, + borderRadius: BorderRadius.circular(8) ), - child:Padding( - padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 2), - // padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 2), - child: Text(durationToDays(timeLeft)), - // child: Text("Deadline : " +DateFormat("yyyy-MM-dd").format(project.deadline)), - )) - ], - ) - ], + child:Padding( + padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 2), + child: Text(project.cat!.name), + )) + ], + ), + Divider(), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text("${project.steps.length} steps"), + Container( + decoration: BoxDecoration( + color: Colors.redAccent, + borderRadius: BorderRadius.circular(8) + ), + child:Padding( + padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 2), + // padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 2), + child: Text(durationToDays(timeLeft)), + // child: Text("Deadline : " +DateFormat("yyyy-MM-dd").format(project.deadline)), + )) + ], + ) + ], + ), ), ), ) diff --git a/lib/User.dart b/lib/User.dart index d11f6ec..1594d30 100644 --- a/lib/User.dart +++ b/lib/User.dart @@ -210,7 +210,7 @@ void onCacheDatabaseCreate(Database db, int newVersion) async { await db.execute(ActivityTableSQL); String ProjectsTableSQL = - 'CREATE TABLE Projects(id TEXT PRIMARY KEY, ${Project.colName} TEXT, ${Project.colCat} TEXT, ${Project.colSteps} TEXT, ${Project.colDeadline} DATETIME)'; + 'CREATE TABLE Projects(id TEXT PRIMARY KEY, ${Project.colName} TEXT, ${Project.colCat} TEXT, ${Project.colSteps} TEXT, ${Project.colEta} INT, ${Project.colDeadline} DATETIME)'; await db.execute(ProjectsTableSQL); String QueriesTableSQL = 'CREATE TABLE Queries(id INTEGER PRIMARY KEY AUTOINCREMENT, ${Queries.colLink} TEXT,${Queries.colData} TEXT)'; @@ -327,7 +327,7 @@ Future UpdateCategoriesFromServer() async { print(response.body); List data = response.body.split(""); - // await cacheDb.delete("Categories"); + await cacheDb.delete("Categories"); for (var value in data) { Map cat = jsonDecode(value); //print(catData);