Skip to content

Commit 5b61da9

Browse files
committed
implemented tabview on fhir screen
1 parent 513022a commit 5b61da9

File tree

6 files changed

+81
-26
lines changed

6 files changed

+81
-26
lines changed

lib/screens/fhir/fhir.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import 'package:flutter/material.dart';
2+
3+
class FhirView extends StatelessWidget {
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(child: Text('Fhir'));
7+
}
8+
}
Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,30 @@
11
import 'package:cloud_firestore/cloud_firestore.dart';
22
import 'package:flutter/material.dart';
3+
import 'package:flutter_icons/flutter_icons.dart';
34
import 'package:get/get.dart';
5+
import 'package:symptom_tracker/screens/fhir/fhir.dart';
6+
import 'package:symptom_tracker/screens/fhir/firebase.dart';
7+
import 'package:symptom_tracker/screens/fhir/sandbox.dart';
48
import 'package:symptom_tracker/services/services.dart';
59

610
import 'package:symptom_tracker/shared/shared.dart';
711

812
class FhirScreen extends StatelessWidget {
913
@override
1014
Widget build(BuildContext context) {
11-
return Scaffold(
12-
appBar: SharedAppBar(
13-
title: 'FHIR',
15+
return DefaultTabController(
16+
length: 3,
17+
child: Scaffold(
18+
appBar: SharedAppBar(
19+
title: 'FHIR',
20+
),
21+
body: _buildBody(),
22+
bottomNavigationBar: TabBar(tabs: [
23+
Tab(icon: Icon(FlutterIcons.md_bonfire_ion), text: 'Sandbox'),
24+
Tab(icon: Icon(FlutterIcons.firebase_mco), text: 'Firebase'),
25+
Tab(icon: Icon(FlutterIcons.fire_mco), text: 'FHIR'),
26+
]),
1427
),
15-
body: _buildBody(),
1628
);
1729
}
1830

@@ -22,9 +34,16 @@ class FhirScreen extends StatelessWidget {
2234
children: <Widget>[
2335
_firebaseStream(),
2436
SizedBox(height: 24),
25-
Text('Obligatory FHIR Puns:', style: Get.theme.textTheme.headline4),
26-
SizedBox(height: 24),
27-
_sandbox(),
37+
Expanded(
38+
child: Container(
39+
color: Get.theme.unselectedWidgetColor,
40+
child: TabBarView(children: [
41+
SandboxView(),
42+
FirebaseView(),
43+
FhirView(),
44+
]),
45+
),
46+
),
2847
],
2948
),
3049
);
@@ -50,19 +69,4 @@ class FhirScreen extends StatelessWidget {
5069
),
5170
);
5271
}
53-
54-
Widget _sandbox() {
55-
return Expanded(
56-
child: ListView(
57-
children: <Widget>[
58-
Text('text', textAlign: TextAlign.center),
59-
Text('text', textAlign: TextAlign.center),
60-
Text('text', textAlign: TextAlign.center),
61-
Text('text', textAlign: TextAlign.center),
62-
Text('text', textAlign: TextAlign.center),
63-
Text('text', textAlign: TextAlign.center),
64-
],
65-
),
66-
);
67-
}
6872
}

lib/screens/fhir/firebase.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import 'package:flutter/material.dart';
2+
3+
class FirebaseView extends StatelessWidget {
4+
@override
5+
Widget build(BuildContext context) {
6+
return Center(child: Text('Firebase'));
7+
}
8+
}

lib/screens/fhir/sandbox.dart

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:get/get.dart';
3+
4+
class SandboxView extends StatelessWidget {
5+
@override
6+
Widget build(BuildContext context) {
7+
return Column(
8+
children: <Widget>[
9+
Text('Obligatory FHIR Puns:', style: Get.theme.textTheme.headline4),
10+
SizedBox(height: 24),
11+
_sandbox(),
12+
],
13+
);
14+
}
15+
16+
Widget _sandbox() {
17+
return Expanded(
18+
child: ListView(
19+
children: <Widget>[
20+
Text('text', textAlign: TextAlign.center),
21+
Text('text', textAlign: TextAlign.center),
22+
Text('text', textAlign: TextAlign.center),
23+
Text('text', textAlign: TextAlign.center),
24+
Text('text', textAlign: TextAlign.center),
25+
Text('text', textAlign: TextAlign.center),
26+
],
27+
),
28+
);
29+
}
30+
}

lib/screens/screens.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1+
export './fhir/fhir.screen.dart';
12
export 'checkin.screen.dart';
23
export 'dashboard.screen.dart';
3-
export 'fhir.screen.dart';
44
export 'home.screen.dart';

lib/theme.dart

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ ThemeData appTheme() {
1818
appBarTheme: _buildAppBarTheme(textTheme),
1919
iconTheme: iconTheme,
2020
primaryIconTheme: iconTheme.copyWith(color: _AppColors.primary),
21+
tabBarTheme: TabBarTheme(
22+
labelStyle: textTheme.subtitle1.copyWith(color: _AppColors.primary),
23+
labelPadding: EdgeInsets.symmetric(vertical: 12),
24+
indicator:
25+
BoxDecoration(color: _AppColors.primary, borderRadius: BorderRadius.vertical(top: Radius.circular(16))),
26+
unselectedLabelColor: _AppColors.disabled,
27+
),
2128

2229
// Misc
2330
buttonTheme: ButtonThemeData(
@@ -45,9 +52,7 @@ class _AppColors {
4552

4653
/// ******* Custom Themes *******
4754
AppBarTheme _buildAppBarTheme(TextTheme textTheme) {
48-
return AppBarTheme(
49-
textTheme: textTheme.apply(displayColor: _AppColors.primary),
50-
);
55+
return AppBarTheme(textTheme: textTheme.apply(displayColor: _AppColors.primary), brightness: Brightness.light);
5156
}
5257

5358
IconThemeData _buildIconTheme() {

0 commit comments

Comments
 (0)