From 52b844e6e86eed13337062bd013288ef938aae9b Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Wed, 13 Feb 2019 22:49:42 +0100 Subject: [PATCH] GitHostSetup: Move the button to its own file --- lib/screens/githostsetup_button.dart | 58 ++++++++++++++++++++++++ lib/screens/githostsetup_clone_url.dart | 59 +------------------------ lib/screens/githostsetup_screens.dart | 1 + 3 files changed, 61 insertions(+), 57 deletions(-) create mode 100644 lib/screens/githostsetup_button.dart diff --git a/lib/screens/githostsetup_button.dart b/lib/screens/githostsetup_button.dart new file mode 100644 index 00000000..623e1833 --- /dev/null +++ b/lib/screens/githostsetup_button.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:journal/analytics.dart'; + +class GitHostSetupButton extends StatelessWidget { + final Function onPressed; + final String text; + final String iconUrl; + + GitHostSetupButton({ + @required this.text, + @required this.onPressed, + this.iconUrl, + }); + + @override + Widget build(BuildContext context) { + if (iconUrl == null) { + return SizedBox( + width: double.infinity, + child: RaisedButton( + child: Text( + text, + textAlign: TextAlign.center, + style: Theme.of(context).textTheme.button, + ), + color: Theme.of(context).primaryColor, + onPressed: this._onPressedWithAnalytics, + ), + ); + } else { + return SizedBox( + width: double.infinity, + child: RaisedButton.icon( + label: Text( + text, + textAlign: TextAlign.center, + style: Theme.of(context).textTheme.button, + ), + icon: Image.asset(iconUrl, width: 32, height: 32), + color: Theme.of(context).primaryColor, + onPressed: this._onPressedWithAnalytics, + ), + ); + } + } + + void _onPressedWithAnalytics() { + print("githostsetup_button_click " + text); + getAnalytics().logEvent( + name: "githostsetup_button_click", + parameters: { + 'text': text, + 'icon_url': iconUrl == null ? "" : iconUrl, + }, + ); + onPressed(); + } +} diff --git a/lib/screens/githostsetup_clone_url.dart b/lib/screens/githostsetup_clone_url.dart index affb4d5a..58821355 100644 --- a/lib/screens/githostsetup_clone_url.dart +++ b/lib/screens/githostsetup_clone_url.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:journal/analytics.dart'; + +import 'githostsetup_button.dart'; class GitCloneUrlPage extends StatefulWidget { final Function doneFunction; @@ -87,59 +88,3 @@ class GitCloneUrlPageState extends State { ); } } - -class GitHostSetupButton extends StatelessWidget { - final Function onPressed; - final String text; - final String iconUrl; - - GitHostSetupButton({ - @required this.text, - @required this.onPressed, - this.iconUrl, - }); - - @override - Widget build(BuildContext context) { - if (iconUrl == null) { - return SizedBox( - width: double.infinity, - child: RaisedButton( - child: Text( - text, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.button, - ), - color: Theme.of(context).primaryColor, - onPressed: this._onPressedWithAnalytics, - ), - ); - } else { - return SizedBox( - width: double.infinity, - child: RaisedButton.icon( - label: Text( - text, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.button, - ), - icon: Image.asset(iconUrl, width: 32, height: 32), - color: Theme.of(context).primaryColor, - onPressed: this._onPressedWithAnalytics, - ), - ); - } - } - - void _onPressedWithAnalytics() { - print("githostsetup_button_click " + text); - getAnalytics().logEvent( - name: "githostsetup_button_click", - parameters: { - 'text': text, - 'icon_url': iconUrl == null ? "" : iconUrl, - }, - ); - onPressed(); - } -} diff --git a/lib/screens/githostsetup_screens.dart b/lib/screens/githostsetup_screens.dart index 3449dce1..912afd5f 100644 --- a/lib/screens/githostsetup_screens.dart +++ b/lib/screens/githostsetup_screens.dart @@ -11,6 +11,7 @@ import 'package:path/path.dart' as p; import 'package:url_launcher/url_launcher.dart'; import 'githostsetup_autoconfigure.dart'; +import 'githostsetup_button.dart'; import 'githostsetup_clone.dart'; import 'githostsetup_clone_url.dart';