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.
224 lines
9.3 KiB
Dart
224 lines
9.3 KiB
Dart
import 'dart:math';
|
|
|
|
import 'package:diplomaticquarterapp/pages/MyAppointments/MyAppointments.dart';
|
|
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_home_page.dart';
|
|
import 'package:diplomaticquarterapp/pages/medical/radiology/radiology_home_page.dart';
|
|
import 'package:diplomaticquarterapp/pages/medical/vital_sign/vital_sign_details_screen.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/others/sliver_app_bar_delegate.dart';
|
|
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:diplomaticquarterapp/pages/insurance/insurance_card_screen.dart';
|
|
import 'doctor/doctor_home_page.dart';
|
|
import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart';
|
|
import 'package:diplomaticquarterapp/pages/insurance/insurance_approval_screen.dart';
|
|
import 'labs/labs_home_page.dart';
|
|
|
|
class MedicalProfilePage extends StatefulWidget {
|
|
@override
|
|
_MedicalProfilePageState createState() => _MedicalProfilePageState();
|
|
}
|
|
|
|
class _MedicalProfilePageState extends State<MedicalProfilePage> {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return AppScaffold(
|
|
body: CustomScrollView(
|
|
physics: BouncingScrollPhysics(),
|
|
key: PageStorageKey("medical"),
|
|
slivers: <Widget>[
|
|
SliverPersistentHeader(
|
|
delegate: SliverAppBarDelegate(
|
|
maxHeight: 200.0,
|
|
minHeight: 200.0,
|
|
child: Container(
|
|
width: double.infinity,
|
|
height: 200,
|
|
color: Colors.grey,
|
|
),
|
|
),
|
|
),
|
|
SliverPersistentHeader(
|
|
delegate: SliverAppBarDelegate(
|
|
maxHeight: double.maxFinite,
|
|
minHeight: double.maxFinite,
|
|
child: Padding(
|
|
padding: EdgeInsets.symmetric(vertical: 12.0),
|
|
child: Column(
|
|
children: <Widget>[
|
|
Row(
|
|
children: <Widget>[
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () {
|
|
Navigator.push(
|
|
context, FadePage(page: DoctorHomePage()));
|
|
},
|
|
child: MedicalProfileItem(
|
|
title: 'My Doctor',
|
|
imagePath: 'doctor_icon.png',
|
|
subTitle: 'List',
|
|
),
|
|
),
|
|
),
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () {},
|
|
child: MedicalProfileItem(
|
|
title: 'Lab',
|
|
imagePath: 'lab_result_icon.png',
|
|
subTitle: 'Result',
|
|
),
|
|
),
|
|
)
|
|
],
|
|
),
|
|
Row(
|
|
children: <Widget>[
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () => Navigator.push(
|
|
context, FadePage(page: RadiologyHomePage())),
|
|
child: MedicalProfileItem(
|
|
title: 'Radiology',
|
|
imagePath: 'radiology_icon.png',
|
|
subTitle: 'Service',
|
|
),
|
|
),
|
|
),
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () {
|
|
Navigator.push(context,
|
|
FadePage(page: HomePrescriptionsPage()));
|
|
},
|
|
child: MedicalProfileItem(
|
|
title: 'Medicines',
|
|
imagePath: 'prescription_icon.png',
|
|
subTitle: 'Prescriptions',
|
|
),
|
|
),
|
|
)
|
|
],
|
|
),
|
|
Row(
|
|
children: <Widget>[
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () {
|
|
Navigator.push(
|
|
context, FadePage(page: InsuranceCard()));
|
|
},
|
|
child: MedicalProfileItem(
|
|
title: 'Insurance',
|
|
imagePath: 'insurance_card_icon.png',
|
|
subTitle: 'Card',
|
|
),
|
|
),
|
|
),
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () {
|
|
Navigator.push(context,
|
|
FadePage(page: InsuranceApproval()));
|
|
},
|
|
child: MedicalProfileItem(
|
|
title: 'Insurance Approval',
|
|
imagePath: 'insurance_approvals_icon.png',
|
|
subTitle: 'Card',
|
|
),
|
|
),
|
|
)
|
|
],
|
|
),
|
|
Row(children: <Widget>[
|
|
Expanded(
|
|
flex: 1,
|
|
child: MedicalProfileItem(
|
|
title: 'Medical',
|
|
imagePath: 'medical_history_icon.png',
|
|
subTitle: 'Reports',
|
|
),
|
|
),
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () => Navigator.push(context,
|
|
FadePage(page: VitalSignDetailsScreen())),
|
|
child: MedicalProfileItem(
|
|
title: 'Vital Signs',
|
|
imagePath: 'medical_history_icon.png',
|
|
subTitle: 'Reports',
|
|
),
|
|
),
|
|
),
|
|
]),
|
|
Row(
|
|
children: <Widget>[
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () {
|
|
Navigator.push(
|
|
context, FadePage(page: InsuranceUpdate()));
|
|
},
|
|
child: MedicalProfileItem(
|
|
title: 'Insurance Update',
|
|
imagePath: 'insurance_card_icon.png',
|
|
subTitle: 'Card',
|
|
),
|
|
),
|
|
),
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () {},
|
|
child: MedicalProfileItem(
|
|
title: 'new',
|
|
imagePath: 'insurance_card_icon.png',
|
|
subTitle: 'Card',
|
|
),
|
|
),
|
|
)
|
|
],
|
|
),
|
|
Row(
|
|
children: <Widget>[
|
|
Expanded(
|
|
flex: 1,
|
|
child: InkWell(
|
|
onTap: () {
|
|
Navigator.push(
|
|
context, FadePage(page: MyAppointments()));
|
|
},
|
|
child: MedicalProfileItem(
|
|
title: 'My Appointments',
|
|
imagePath: 'my_appointment_icon.png',
|
|
subTitle: 'List',
|
|
),
|
|
),
|
|
),
|
|
Expanded(
|
|
flex: 1,
|
|
child: Container(),
|
|
),
|
|
],
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
),
|
|
]),
|
|
);
|
|
}
|
|
}
|