Skip to content

Commit 6c73a9d

Browse files
committed
shared action button complete
1 parent 09bc442 commit 6c73a9d

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

lib/screens/home.screen.dart

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:flutter/material.dart';
22
import 'package:get/get.dart';
33
import 'package:symptom_tracker/screens/screens.dart';
4+
import 'package:symptom_tracker/shared/action_button.dart';
45
import 'package:symptom_tracker/shared/app_bar.dart';
56

67
class HomeScreen extends StatelessWidget {
@@ -28,22 +29,18 @@ class HomeScreen extends StatelessWidget {
2829
child: Column(
2930
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
3031
children: [
31-
_buildActionButton(
32+
SharedActionButton(
3233
title: 'Dashboard',
3334
onPressed: () => Get.to(DashboardScreen()),
3435
),
35-
_buildActionButton(
36+
SharedActionButton(
3637
title: 'Check-in',
3738
onPressed: () => Get.to(CheckinScreen()),
3839
),
39-
_buildActionButton(title: 'FHIR'),
40+
SharedActionButton(title: 'FHIR'),
4041
Text('Obligatory FHIR pun'),
4142
],
4243
),
4344
);
4445
}
45-
46-
Widget _buildActionButton({@required String title, void Function() onPressed}) {
47-
return RaisedButton(child: Text(title), onPressed: onPressed);
48-
}
4946
}

lib/shared/action_button.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:get/get.dart';
3+
4+
class SharedActionButton extends StatelessWidget {
5+
final String title;
6+
final void Function() onPressed;
7+
8+
const SharedActionButton({Key key, @required this.title, this.onPressed}) : super(key: key);
9+
10+
@override
11+
Widget build(BuildContext context) {
12+
return ButtonTheme.fromButtonThemeData(
13+
data: Get.theme.buttonTheme.copyWith(minWidth: Get.width / 2),
14+
child: RaisedButton(
15+
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)),
16+
padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 24),
17+
child: Text(title),
18+
onPressed: onPressed),
19+
);
20+
}
21+
}

0 commit comments

Comments
 (0)