You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diplomatic-quarter/lib/pages/ContactUs/contact_us_page.dart

109 lines
3.2 KiB
Dart

import 'package:diplomaticquarterapp/pages/feedback/feedback_home_page.dart';
import 'package:diplomaticquarterapp/uitl/location_util.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/medical_profile_item.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
import '../../uitl/translations_delegate_base.dart';
import 'LiveChat/livechat_page.dart';
import 'findus/findus_page.dart';
class ContactUsPage extends StatefulWidget {
@override
_ContactUsPageState createState() => _ContactUsPageState();
}
class _ContactUsPageState extends State<ContactUsPage> {
LocationUtils locationUtils;
@override
void initState() {
locationUtils = new LocationUtils(isShowConfirmDialog: true, context: context);
WidgetsBinding.instance.addPostFrameCallback((_) => locationUtils.getCurrentLocation());
super.initState();
}
@override
Widget build(BuildContext context) {
List<Widget> myMedicalList = myOptionsList(context);
return AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).contactUs,
isShowDecPage: false,
showNewAppBar: true,
showNewAppBarTitle: true,
backgroundColor: Color(0xffF8F8F8),
body: Column(
children: [
Container(
width: double.infinity,
height: 30,
),
Padding(
padding: EdgeInsets.only(left: 12, right: 12),
child: GridView.builder(
shrinkWrap: true,
primary: false,
physics: NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3, childAspectRatio: 2 / 2, crossAxisSpacing: 12, mainAxisSpacing: 12),
padding: EdgeInsets.zero,
itemCount: myMedicalList.length,
itemBuilder: (BuildContext context, int index) {
return myMedicalList[index];
},
),
),
],
),
);
}
List<Widget> myOptionsList(BuildContext context) {
List<Widget> medical = List();
medical.add(InkWell(
onTap: () => Navigator.push(
context,
FadePage(page: FindUsPage()),
),
child: MedicalProfileItem(
title: TranslationBase.of(context).findUs,
imagePath: 'assets/images/new-design/find_us_icon.png',
subTitle: null,
isPngImage: true,
),
));
medical.add(InkWell(
onTap: () => Navigator.push(
context,
FadePage(page: FeedbackHomePage()),
),
child: MedicalProfileItem(
title: TranslationBase.of(context).feedback,
imagePath: 'assets/images/new-design/feedback_icon.png',
subTitle: null,
isPngImage: true,
),
));
medical.add(InkWell(
onTap: () => Navigator.push(
context,
FadePage(page: LiveChatPage()),
),
child: MedicalProfileItem(
title: TranslationBase.of(context).liveChat,
imagePath: 'assets/images/new-design/live_chat_icon.png',
subTitle: null,
isPngImage: true,
),
));
return medical;
}
}