WIP
This commit is contained in:
parent
fb2344d637
commit
337a5dcb82
|
@ -57,7 +57,7 @@ class _MenuButtonWidgetState extends State<MenuButtonWidget> {
|
|||
),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(4.0),
|
||||
padding: const EdgeInsets.all(0.0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:hub/components/organism_components/menu_staggered_view_component/menu_staggered_view_component_model.dart';
|
||||
import 'package:hub/flutter_flow/nav/nav.dart';
|
||||
import 'package:hub/shared/extensions/dialog_extensions.dart';
|
||||
|
||||
import '/components/molecular_components/option_selection_modal/option_selection_modal_widget.dart';
|
||||
import '/components/organism_components/menu_list_view_component/menu_list_view_component_widget.dart';
|
||||
|
@ -53,29 +54,39 @@ class MenuComponentModel extends FlutterFlowModel<MenuComponentWidget> {
|
|||
}
|
||||
|
||||
Future scheduleProvisionalVisitAction(BuildContext context) async {
|
||||
context.pushNamed(
|
||||
'scheduleProvisionalVisitPage',
|
||||
extra: <String, dynamic>{
|
||||
kTransitionInfoKey: const TransitionInfo(
|
||||
hasTransition: true,
|
||||
transitionType: PageTransitionType.scale,
|
||||
alignment: Alignment.bottomCenter,
|
||||
),
|
||||
},
|
||||
);
|
||||
final isProvisional = AppState().provisional;
|
||||
if (isProvisional) {
|
||||
context.pushNamed(
|
||||
'scheduleProvisionalVisitPage',
|
||||
extra: <String, dynamic>{
|
||||
kTransitionInfoKey: const TransitionInfo(
|
||||
hasTransition: true,
|
||||
transitionType: PageTransitionType.scale,
|
||||
alignment: Alignment.bottomCenter,
|
||||
),
|
||||
},
|
||||
);
|
||||
} else {
|
||||
DialogUnavailable.unavailableFeature(context);
|
||||
}
|
||||
}
|
||||
|
||||
Future fastPassAction(BuildContext context) async {
|
||||
context.pushNamed(
|
||||
'fastPassPage',
|
||||
extra: <String, dynamic>{
|
||||
kTransitionInfoKey: const TransitionInfo(
|
||||
hasTransition: true,
|
||||
transitionType: PageTransitionType.scale,
|
||||
alignment: Alignment.bottomCenter,
|
||||
),
|
||||
},
|
||||
);
|
||||
final isWpp = AppState().whatsapp;
|
||||
if (isWpp) {
|
||||
context.pushNamed(
|
||||
'fastPassPage',
|
||||
extra: <String, dynamic>{
|
||||
kTransitionInfoKey: const TransitionInfo(
|
||||
hasTransition: true,
|
||||
transitionType: PageTransitionType.scale,
|
||||
alignment: Alignment.bottomCenter,
|
||||
),
|
||||
},
|
||||
);
|
||||
} else {
|
||||
DialogUnavailable.unavailableFeature(context);
|
||||
}
|
||||
}
|
||||
|
||||
Future scheduleVisitOptAction(BuildContext context) async {
|
||||
|
|
|
@ -138,7 +138,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
|||
),
|
||||
),
|
||||
MenuButtonWidget(
|
||||
icon: Icons.confirmation_num_outlined,
|
||||
icon: Icons.share_location_outlined,
|
||||
action: () async {
|
||||
await _model.fastPassAction(context);
|
||||
setState(() {});
|
||||
|
@ -355,7 +355,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
|||
),
|
||||
),
|
||||
MenuCardItem(
|
||||
icon: Icons.confirmation_num_outlined,
|
||||
icon: Icons.share_location_outlined,
|
||||
action: () async {
|
||||
await _model.fastPassAction(context);
|
||||
setState(() {});
|
||||
|
|
|
@ -56,20 +56,7 @@ class _MenuListViewComponentWidgetState
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Wrap(
|
||||
spacing: 0.0,
|
||||
runSpacing: 0.0,
|
||||
alignment: WrapAlignment.start,
|
||||
crossAxisAlignment: WrapCrossAlignment.start,
|
||||
direction: Axis.horizontal,
|
||||
runAlignment: WrapAlignment.start,
|
||||
verticalDirection: VerticalDirection.down,
|
||||
clipBehavior: Clip.none,
|
||||
children: [
|
||||
buildMenuItem(context),
|
||||
if (widget.expandable) buildExpandableButton(context),
|
||||
],
|
||||
);
|
||||
return buildMenuItem(context);
|
||||
}
|
||||
|
||||
Widget buildMenuItem(BuildContext context) {
|
||||
|
@ -115,30 +102,34 @@ class _MenuListViewComponentWidgetState
|
|||
),
|
||||
);
|
||||
case MenuItem.tile:
|
||||
return SizedBox(
|
||||
width: double.infinity,
|
||||
height: MediaQuery.of(context).size.height * 0.7,
|
||||
child: ListView.separated(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 15),
|
||||
shrinkWrap: true,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
scrollDirection: Axis.vertical,
|
||||
itemCount: widget.options.length,
|
||||
itemBuilder: (context, index) {
|
||||
return SizedBox(
|
||||
// height: MediaQuery.of(context).size.height * 0.08,
|
||||
// width: MediaQuery.of(context).size.width * 0.08,
|
||||
child: widget.options[index],
|
||||
);
|
||||
},
|
||||
separatorBuilder: (context, index) {
|
||||
return const Divider(thickness: 0.2);
|
||||
},
|
||||
),
|
||||
);
|
||||
return buildMenuList(context);
|
||||
}
|
||||
}
|
||||
|
||||
Widget buildMenuList(BuildContext context) {
|
||||
return SizedBox(
|
||||
width: MediaQuery.of(context).size.width,
|
||||
height: MediaQuery.of(context).size.height * 0.8,
|
||||
child: ListView.separated(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 15),
|
||||
shrinkWrap: true,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
scrollDirection: Axis.vertical,
|
||||
itemCount: widget.options.length,
|
||||
itemBuilder: (context, index) {
|
||||
return SizedBox(
|
||||
// height: MediaQuery.of(context).size.height * 0.08,
|
||||
// width: MediaQuery.of(context).size.width * 0.08,
|
||||
child: widget.options[index],
|
||||
);
|
||||
},
|
||||
separatorBuilder: (context, index) {
|
||||
return const Divider(thickness: 0.2);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Row buildExpandableButton(BuildContext context) {
|
||||
return Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
|
|
|
@ -13,7 +13,7 @@ import 'package:hub/flutter_flow/flutter_flow_theme.dart';
|
|||
import 'package:hub/flutter_flow/flutter_flow_util.dart';
|
||||
import 'package:hub/pages/home_page/home_page_model.dart';
|
||||
import 'package:hub/shared/utils/dialog_util.dart';
|
||||
import 'package:hub/widgets/drawer_widget/drawer_widget.dart';
|
||||
import 'package:hub/shared/widgets/drawer_widget/drawer_widget.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class HomePageWidget extends StatefulWidget {
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:hub/flutter_flow/internationalization.dart';
|
||||
import 'package:hub/shared/utils/dialog_util.dart';
|
||||
|
||||
export 'dialog_extensions.dart' show DialogUnavailable;
|
||||
|
||||
extension DialogUnavailable on DialogUtil {
|
||||
static Future<dynamic> unavailableFeature(BuildContext context) {
|
||||
final message = FFLocalizations.of(context).getVariableText(
|
||||
ptText:
|
||||
"Essa funcionalidade não está disponível para este local. Por favor, selecione outro local ou entre em contato com os responsáveis para alterar o plano de contrato para sua localidade.",
|
||||
enText:
|
||||
"This functionality is not available for this location. Please select another location or contact the responsible parties to change the contract plan for your location.");
|
||||
return DialogUtil.warning(context, message);
|
||||
}
|
||||
}
|
|
@ -162,17 +162,15 @@ class CustomDrawer extends StatelessWidget {
|
|||
);
|
||||
}
|
||||
|
||||
Expanded _buildDrawerBody() {
|
||||
return Expanded(
|
||||
child: SingleChildScrollView(
|
||||
child: wrapWithModel(
|
||||
model: model.menuComponentModel,
|
||||
updateCallback: () {},
|
||||
child: const MenuComponentWidget(
|
||||
expandable: false,
|
||||
style: MenuView.list,
|
||||
item: MenuItem.tile,
|
||||
),
|
||||
Widget _buildDrawerBody() {
|
||||
return SingleChildScrollView(
|
||||
child: wrapWithModel(
|
||||
model: model.menuComponentModel,
|
||||
updateCallback: () {},
|
||||
child: const MenuComponentWidget(
|
||||
expandable: false,
|
||||
style: MenuView.list,
|
||||
item: MenuItem.tile,
|
||||
),
|
||||
),
|
||||
);
|
Loading…
Reference in New Issue