diff --git a/lib/new_views/pages/land_page/calendar_page.dart b/lib/new_views/pages/land_page/calendar_page.dart index 3c254387..b8635aab 100644 --- a/lib/new_views/pages/land_page/calendar_page.dart +++ b/lib/new_views/pages/land_page/calendar_page.dart @@ -4,6 +4,8 @@ import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import 'package:test_sa/new_views/pages/land_page/calender_fragments/daily_fragment.dart'; +import 'package:test_sa/new_views/pages/land_page/calender_fragments/weekly_fragment.dart'; import '../../common_widgets/default_app_bar.dart'; @@ -26,20 +28,22 @@ class _CalendarPageState extends State with SingleTickerProviderSt @override Widget build(BuildContext context) { return Scaffold( - appBar: const DefaultAppBar(title: ""), body: Column( mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Card( + // todo @sikander, hiding My shift view, later when they add data, then will us it. + SizedBox( + width: double.infinity, child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, + crossAxisAlignment: CrossAxisAlignment.start, children: [ "My Shift".heading5(context), 8.height, "Sunday to Thursday".bodyText(context), "09:00 to 18:00".bodyText(context).custom(color: AppColor.neutral50), ], - ).paddingAll(16), + ).toShadowContainer, ), 16.height, Container( @@ -89,19 +93,12 @@ class _CalendarPageState extends State with SingleTickerProviderSt ], ), ), - CalendarCard( - calendarFormat: CalendarFormat.week, - child: Column( - children: [ - const Divider().defaultStyle(context), - ], - ), - ), - Container(), + WeeklyFragment(), + DailyFragment(), ], ).expanded, ], - ).paddingAll(16), + ), ); } } @@ -109,6 +106,7 @@ class _CalendarPageState extends State with SingleTickerProviderSt class CalendarCard extends StatelessWidget { final CalendarFormat calendarFormat; final Widget child; + const CalendarCard({this.calendarFormat, this.child, Key key}) : super(key: key); @override diff --git a/lib/new_views/pages/land_page/calender_fragments/daily_fragment.dart b/lib/new_views/pages/land_page/calender_fragments/daily_fragment.dart index 3d9c85ac..4d38ad20 100644 --- a/lib/new_views/pages/land_page/calender_fragments/daily_fragment.dart +++ b/lib/new_views/pages/land_page/calender_fragments/daily_fragment.dart @@ -24,7 +24,6 @@ class _DailyFragmentState extends State { @override Widget build(BuildContext context) { - // TODO: implement build - return null; + return Container(); } } diff --git a/lib/new_views/pages/land_page/calender_page.dart b/lib/new_views/pages/land_page/calender_page.dart deleted file mode 100644 index 42e0d6ac..00000000 --- a/lib/new_views/pages/land_page/calender_page.dart +++ /dev/null @@ -1,145 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:table_calendar/table_calendar.dart'; -import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/extensions/text_extensions.dart'; -import 'package:test_sa/extensions/widget_extensions.dart'; -import 'package:test_sa/new_views/app_style/app_color.dart'; -import 'package:test_sa/new_views/pages/land_page/calender_fragments/monthly_fragment.dart'; -import 'package:test_sa/new_views/pages/land_page/calender_fragments/weekly_fragment.dart'; - -class CalenderPage extends StatefulWidget { - CalenderPage({Key key}) : super(key: key); - - @override - _CalenderPageState createState() { - return _CalenderPageState(); - } -} - -class _CalenderPageState extends State { - int selectedIndex = 0; - DateTime currentDateTime = DateTime.now(); - - PageController _pageController; - - @override - void initState() { - _pageController = PageController(); - super.initState(); - } - - @override - void dispose() { - _pageController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - body: Column( - children: [ - // todo @sikander, hiding My shift view, later when they add data, then will us it. - Container( - width: double.infinity, - padding: const EdgeInsets.all(16), - decoration: ShapeDecoration( - color: Colors.white, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20), - ), - shadows: const [ - BoxShadow( - color: Color(0x07000000), - blurRadius: 14, - offset: Offset(0, 0), - spreadRadius: 0, - ) - ], - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Text( - 'My Shift', - style: AppTextStyles.heading5.copyWith(color: AppColor.neutral50), - ), - 8.height, - Text( - 'Sunday to Thursday', - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), - ), - Text( - '09:00 to 18:00', - style: AppTextStyles.bodyText.copyWith(color: AppColor.neutral50), - ), - ], - ), - ), - - Container( - width: double.infinity, - padding: const EdgeInsets.all(4), - decoration: ShapeDecoration( - color: const Color(0xFFEAF1F4), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(16), - ), - shadows: const [ - BoxShadow( - color: Color(0x07000000), - blurRadius: 14, - offset: Offset(0, 0), - spreadRadius: 0, - ) - ], - ), - child: Row( - children: [ - tabItem("Monthly", 0, selectedIndex, () => onTabPress(0)), - tabItem("Weekly", 1, selectedIndex, () => onTabPress(1)), - tabItem("Daily", 2, selectedIndex, () => onTabPress(2)), - ], - ), - ), - 8.height, - PageView( - controller: _pageController, - onPageChanged: (index) => onTabPress(index), - children: [ - MonthlyFragment(), - WeeklyFragment(), - Container(), - ], - ).expanded, - ], - ), - ); - } - - void onTabPress(index) { - if (selectedIndex != index) { - setState(() { - selectedIndex = index; - }); - _pageController.jumpToPage(index); - } - } - - Widget tabItem(String title, int index, int selectedIndex, VoidCallback onPress) { - return Container( - alignment: Alignment.center, - padding: const EdgeInsets.only(top: 14, bottom: 14), - decoration: ShapeDecoration( - color: index == selectedIndex ? Colors.white : Colors.transparent, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(13), - ), - ), - child: Text( - title, - style: AppTextStyles.bodyText.copyWith(color: index == selectedIndex ? AppColor.neutral60 : const Color(0xFF757575)), - )).onPress(onPress).expanded; - } -} diff --git a/lib/new_views/pages/land_page/calender_page12.dart b/lib/new_views/pages/land_page/calender_page12.dart new file mode 100644 index 00000000..812f7e5a --- /dev/null +++ b/lib/new_views/pages/land_page/calender_page12.dart @@ -0,0 +1,145 @@ +// import 'package:flutter/material.dart'; +// import 'package:table_calendar/table_calendar.dart'; +// import 'package:test_sa/extensions/int_extensions.dart'; +// import 'package:test_sa/extensions/text_extensions.dart'; +// import 'package:test_sa/extensions/widget_extensions.dart'; +// import 'package:test_sa/new_views/app_style/app_color.dart'; +// import 'package:test_sa/new_views/pages/land_page/calender_fragments/monthly_fragment.dart'; +// import 'package:test_sa/new_views/pages/land_page/calender_fragments/weekly_fragment.dart'; +// +// class CalenderPage extends StatefulWidget { +// CalenderPage({Key key}) : super(key: key); +// +// @override +// _CalenderPageState createState() { +// return _CalenderPageState(); +// } +// } +// +// class _CalenderPageState extends State { +// int selectedIndex = 0; +// DateTime currentDateTime = DateTime.now(); +// +// PageController _pageController; +// +// @override +// void initState() { +// _pageController = PageController(); +// super.initState(); +// } +// +// @override +// void dispose() { +// _pageController.dispose(); +// super.dispose(); +// } +// +// @override +// Widget build(BuildContext context) { +// return Scaffold( +// body: Column( +// children: [ +// // todo @sikander, hiding My shift view, later when they add data, then will us it. +// Container( +// width: double.infinity, +// padding: const EdgeInsets.all(16), +// decoration: ShapeDecoration( +// color: Colors.white, +// shape: RoundedRectangleBorder( +// borderRadius: BorderRadius.circular(20), +// ), +// shadows: const [ +// BoxShadow( +// color: Color(0x07000000), +// blurRadius: 14, +// offset: Offset(0, 0), +// spreadRadius: 0, +// ) +// ], +// ), +// child: Column( +// crossAxisAlignment: CrossAxisAlignment.start, +// mainAxisSize: MainAxisSize.min, +// children: [ +// Text( +// 'My Shift', +// style: AppTextStyles.heading5.copyWith(color: AppColor.neutral50), +// ), +// 8.height, +// Text( +// 'Sunday to Thursday', +// style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), +// ), +// Text( +// '09:00 to 18:00', +// style: AppTextStyles.bodyText.copyWith(color: AppColor.neutral50), +// ), +// ], +// ), +// ), +// +// Container( +// width: double.infinity, +// padding: const EdgeInsets.all(4), +// decoration: ShapeDecoration( +// color: const Color(0xFFEAF1F4), +// shape: RoundedRectangleBorder( +// borderRadius: BorderRadius.circular(16), +// ), +// shadows: const [ +// BoxShadow( +// color: Color(0x07000000), +// blurRadius: 14, +// offset: Offset(0, 0), +// spreadRadius: 0, +// ) +// ], +// ), +// child: Row( +// children: [ +// tabItem("Monthly", 0, selectedIndex, () => onTabPress(0)), +// tabItem("Weekly", 1, selectedIndex, () => onTabPress(1)), +// tabItem("Daily", 2, selectedIndex, () => onTabPress(2)), +// ], +// ), +// ), +// 8.height, +// PageView( +// controller: _pageController, +// onPageChanged: (index) => onTabPress(index), +// children: [ +// MonthlyFragment(), +// WeeklyFragment(), +// Container(), +// ], +// ).expanded, +// ], +// ), +// ); +// } +// +// void onTabPress(index) { +// if (selectedIndex != index) { +// setState(() { +// selectedIndex = index; +// }); +// _pageController.jumpToPage(index); +// } +// } +// +// Widget tabItem(String title, int index, int selectedIndex, VoidCallback onPress) { +// return Container( +// alignment: Alignment.center, +// padding: const EdgeInsets.only(top: 14, bottom: 14), +// decoration: ShapeDecoration( +// color: index == selectedIndex ? Colors.white : Colors.transparent, +// shape: RoundedRectangleBorder( +// borderRadius: BorderRadius.circular(13), +// ), +// ), +// child: Text( +// title, +// style: AppTextStyles.bodyText.copyWith(color: index == selectedIndex ? AppColor.neutral60 : const Color(0xFF757575)), +// )).onPress(onPress).expanded; +// } +// } diff --git a/lib/new_views/pages/land_page/land_page.dart b/lib/new_views/pages/land_page/land_page.dart index acac87d3..d15b2992 100644 --- a/lib/new_views/pages/land_page/land_page.dart +++ b/lib/new_views/pages/land_page/land_page.dart @@ -6,7 +6,7 @@ import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/models/enums/user_types.dart'; -import 'package:test_sa/new_views/pages/land_page/calender_page.dart'; +import 'package:test_sa/new_views/pages/land_page/calendar_page.dart'; import 'package:test_sa/new_views/pages/land_page/home_app_bar.dart'; import 'package:test_sa/new_views/pages/land_page/my_assets_page.dart'; import 'package:test_sa/new_views/pages/land_page/my_request/my_requests_page.dart'; @@ -52,7 +52,7 @@ class _LandPageState extends State { })), old_page.LandPage(), SingleDevicePicker(), - if (_userProvider.user.type == UsersTypes.engineer) CalenderPage(), + if (_userProvider.user.type == UsersTypes.engineer) CalendarPage(), MyRequestsPage(), ]; }