subpages changes

merge-requests/1/merge
Sultan Khan 4 years ago
parent 9248db1f78
commit da6b935c0b

@ -6,6 +6,7 @@ import 'package:mohem_flutter_app/ui/login/login_screen.dart';
import 'package:mohem_flutter_app/ui/login/new_password_screen.dart'; import 'package:mohem_flutter_app/ui/login/new_password_screen.dart';
import 'package:mohem_flutter_app/ui/login/verify_last_login_screen.dart'; import 'package:mohem_flutter_app/ui/login/verify_last_login_screen.dart';
import 'package:mohem_flutter_app/ui/login/verify_login_screen.dart'; import 'package:mohem_flutter_app/ui/login/verify_login_screen.dart';
import 'package:mohem_flutter_app/ui/screens/submenu_screen.dart';
import 'package:mohem_flutter_app/ui/work_list/missing_swipe/missing_swipe_screen.dart'; import 'package:mohem_flutter_app/ui/work_list/missing_swipe/missing_swipe_screen.dart';
import 'package:mohem_flutter_app/ui/work_list/work_list_screen.dart'; import 'package:mohem_flutter_app/ui/work_list/work_list_screen.dart';
@ -21,6 +22,7 @@ class AppRoutes {
static const String loginVerification = "/loginVerification"; static const String loginVerification = "/loginVerification";
static const String dashboard = "/dashboard"; static const String dashboard = "/dashboard";
static const String todayAttendance = "/todayAttendance"; static const String todayAttendance = "/todayAttendance";
static const String subMenuScreen = "/submenuScreen";
static const String initialRoute = login; static const String initialRoute = login;
//Work List //Work List
@ -32,6 +34,8 @@ class AppRoutes {
verifyLogin: (context) => VerifyLoginScreen(), verifyLogin: (context) => VerifyLoginScreen(),
verifyLastLogin: (context) => VerifyLastLoginScreen(), verifyLastLogin: (context) => VerifyLastLoginScreen(),
dashboard: (context) => DashboardScreen(), dashboard: (context) => DashboardScreen(),
subMenuScreen: (context) => SubMenuScreen(),
newPassword: (context) => NewPasswordScreen(), newPassword: (context) => NewPasswordScreen(),
forgotPassword: (context) => ForgotPasswordScreen(), forgotPassword: (context) => ForgotPasswordScreen(),
todayAttendance: (context) => TodayAttendanceScreen(), todayAttendance: (context) => TodayAttendanceScreen(),

@ -46,7 +46,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
data.fetchWorkListCounter(); data.fetchWorkListCounter();
data.fetchMissingSwipe(); data.fetchMissingSwipe();
data.fetchLeaveTicketBalance(); data.fetchLeaveTicketBalance();
// data.fetchMenuEntries(); data.fetchMenuEntries();
} }
@override @override

@ -1,10 +1,13 @@
import 'package:easy_localization/src/public_ext.dart'; import 'package:easy_localization/src/public_ext.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:mohem_flutter_app/config/routes.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
import 'package:mohem_flutter_app/models/dashboard/menus.dart';
import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart'; import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
import 'package:mohem_flutter_app/widgets/shimmer/dashboard_shimmer_widget.dart'; import 'package:mohem_flutter_app/widgets/shimmer/dashboard_shimmer_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -60,35 +63,39 @@ class ServicesWidget extends StatelessWidget {
aspectRatio: 105 / 105, aspectRatio: 105 / 105,
child: data.isServicesMenusLoading child: data.isServicesMenusLoading
? ServicesMenuShimmer() ? ServicesMenuShimmer()
: Container( : InkWell(
decoration: BoxDecoration( onTap: () {
color: Colors.white, getSubmenus(context, data.getMenuEntriesList, data.homeMenus![parentIndex].menuEntiesList[index]);
borderRadius: BorderRadius.circular(15), },
boxShadow: [ child: Container(
BoxShadow( decoration: BoxDecoration(
color: const Color(0xff000000).withOpacity(.05), color: Colors.white,
blurRadius: 26, borderRadius: BorderRadius.circular(15),
offset: const Offset(0, -3), boxShadow: [
), BoxShadow(
], color: const Color(0xff000000).withOpacity(.05),
), blurRadius: 26,
child: Column( offset: const Offset(0, -3),
mainAxisAlignment: MainAxisAlignment.spaceBetween, ),
crossAxisAlignment: CrossAxisAlignment.start, ],
children: [ ),
SvgPicture.asset(iconT[index]), child: Column(
Row( mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Expanded( SvgPicture.asset(iconT[index]),
child: data.homeMenus![parentIndex].menuEntiesList[index].prompt!.toText11(isBold: true), Row(
), crossAxisAlignment: CrossAxisAlignment.end,
SvgPicture.asset("assets/images/arrow_next.svg").paddingOnly(bottom: 4) children: [
], Expanded(
) child: data.homeMenus![parentIndex].menuEntiesList[index].prompt!.toText11(isBold: true),
], ),
).paddingOnly(left: 10, right: 10, bottom: 10, top: 12), SvgPicture.asset("assets/images/arrow_next.svg").paddingOnly(bottom: 4)
), ],
)
],
).paddingOnly(left: 10, right: 10, bottom: 10, top: 12),
)),
); );
}, },
separatorBuilder: (cxt, index) => 9.width, separatorBuilder: (cxt, index) => 9.width,
@ -107,6 +114,15 @@ class ServicesWidget extends StatelessWidget {
); );
} }
void getSubmenus(BuildContext context, List<GetMenuEntriesList>? menuEntries, GetMenuEntriesList? homeSubMenu) {
List<GetMenuEntriesList>? selectedMenu = menuEntries?.where((element) => element.parentMenuName == homeSubMenu?.menuName).toList();
Navigator.pushNamed(
context,
AppRoutes.subMenuScreen,
arguments: Menus(homeSubMenu!, selectedMenu!),
);
}
String firstWord(String value) { String firstWord(String value) {
return value.split(" ").length > 1 ? value.split(" ")[0] : ""; return value.split(" ").length > 1 ? value.split(" ")[0] : "";
} }

@ -0,0 +1,61 @@
import 'package:easy_localization/src/public_ext.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/config/routes.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
import 'package:mohem_flutter_app/models/dashboard/menus.dart';
import 'package:mohem_flutter_app/ui/app_bar.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
class SubMenuScreen extends StatelessWidget {
late Menus menu;
@override
Widget build(BuildContext context) {
menu = ModalRoute.of(context)!.settings.arguments as Menus;
return Scaffold(
backgroundColor: Colors.white,
appBar: appBar(
context,
title: menu.menuEntry.prompt.toString(),
),
body: Container(
width: double.infinity,
height: double.infinity,
child: Column(
children: menu.menuEntiesList.map((i) => rowItem(i)).toList(),
)),
);
}
Widget rowItem(GetMenuEntriesList obj) {
return InkWell(
onTap: () {},
child: Container(
width: double.infinity,
padding: EdgeInsets.all(12),
margin: EdgeInsets.only(top: 10),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10),
boxShadow: [
BoxShadow(
color: const Color(0xff000000).withOpacity(.1),
blurRadius: 26,
offset: const Offset(0, -3),
),
],
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [Text(obj.prompt.toString()), Icon(Icons.arrow_right)],
).paddingAll(6),
),
);
}
}
Loading…
Cancel
Save