From 41b3ff02143f3e412b9bced991bcb94d727a1000 Mon Sep 17 00:00:00 2001 From: Derek Yeh Date: Wed, 18 Aug 2021 17:48:54 -0700 Subject: [PATCH 1/5] add initial home screen --- lib/ui/home/screen/dashboard_screen.dart | 4 +- lib/ui/home/screen/services_screen.dart | 82 ++++++++++++++++++++++++ lib/ui/widgets/gradient_card.dart | 2 +- 3 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 lib/ui/home/screen/services_screen.dart diff --git a/lib/ui/home/screen/dashboard_screen.dart b/lib/ui/home/screen/dashboard_screen.dart index 81bee20f..ab295630 100644 --- a/lib/ui/home/screen/dashboard_screen.dart +++ b/lib/ui/home/screen/dashboard_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:treehousesble/ui/home/screen/search_screen.dart'; import 'package:treehousesble/ui/home/screen/device_screen.dart'; +import 'package:treehousesble/ui/home/screen/services_screen.dart'; import 'package:treehousesble/ui/home/widget/scan_result_tile.dart'; import 'package:treehousesble/ui/home/widget/fab_bottom_app_bar.dart'; import 'package:treehousesble/ui/network/screen/network_screen.dart'; @@ -19,7 +20,8 @@ class _FindDevicesScreenState extends State { Widget pages(int index) { switch(index) { case 0: - return SearchPage(); + //return SearchPage(); + return ServicesScreen(); case 1: return Container(); case 2: diff --git a/lib/ui/home/screen/services_screen.dart b/lib/ui/home/screen/services_screen.dart new file mode 100644 index 00000000..08d3278c --- /dev/null +++ b/lib/ui/home/screen/services_screen.dart @@ -0,0 +1,82 @@ +import 'package:flutter/material.dart'; +import 'package:treehousesble/ui/widgets/gradient_card.dart'; + +class ServicesScreen extends StatefulWidget { + @override + State createState() => _ServicesScreenState(); +} + +class _ServicesScreenState extends State { + bool sharingData = false; + @override + Widget build(BuildContext context) { + return Scaffold( + body: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + + children: [ + Column( + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: GradientCard( + [Color(0xFFffdd00), Color(0xFFfbb034)], + [MediaQuery.of(context).size.width, 140], + Icons.apps, + "Services" + ), + ), + ] + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + GradientCard( + [Color(0xFFffdd00), Color(0xFFfbb034)], + [140, 140], + Icons.exit_to_app, + "SSH" + ), + GradientCard( + [Color(0xFFffdd00), Color(0xFFfbb034)], + [140, 140], + Icons.open_in_browser, + "Tunnel" + ), + ], + ), + SizedBox(height: 30), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + GradientCard( + [Color(0xFFffdd00), Color(0xFFfbb034)], + [140, 140], + Icons.desktop_windows, + "System" + ), + GradientCard( + [Color(0xFFffdd00), Color(0xFFfbb034)], + [140, 140], + Icons.insights, + "Status" + ), + ], + ), + Row( + children: [ + GradientCard( + [Color(0xFFffdd00), Color(0xFFfbb034)], + [MediaQuery.of(context).size.width, 70], + Icons.desktop_windows, + "Community" + ), + ], + ), + ], + ) + ) + ); + } +} \ No newline at end of file diff --git a/lib/ui/widgets/gradient_card.dart b/lib/ui/widgets/gradient_card.dart index 99fff4ce..141fa0e7 100644 --- a/lib/ui/widgets/gradient_card.dart +++ b/lib/ui/widgets/gradient_card.dart @@ -7,7 +7,7 @@ class GradientCard extends StatefulWidget { final String type; final bool highlighted; final Function? func; - GradientCard(this.colors, this.sizes, this.icon, this.type, this.highlighted, [this.func]); + GradientCard(this.colors, this.sizes, this.icon, this.type, [this.highlighted = false, this.func]); @override State createState() => _GradientCard(); } From 87b7fff68abbca01a58b51eb7082a58c8cb1dbcb Mon Sep 17 00:00:00 2001 From: Derek Yeh Date: Wed, 18 Aug 2021 19:49:10 -0700 Subject: [PATCH 2/5] add padding and colors --- lib/ui/home/screen/services_screen.dart | 40 +++++++++++++------------ lib/ui/widgets/gradient_card.dart | 2 +- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/lib/ui/home/screen/services_screen.dart b/lib/ui/home/screen/services_screen.dart index 08d3278c..c70f518e 100644 --- a/lib/ui/home/screen/services_screen.dart +++ b/lib/ui/home/screen/services_screen.dart @@ -7,21 +7,20 @@ class ServicesScreen extends StatefulWidget { } class _ServicesScreenState extends State { - bool sharingData = false; + static const double padding = 15; @override Widget build(BuildContext context) { return Scaffold( body: SingleChildScrollView( child: Column( crossAxisAlignment: CrossAxisAlignment.start, - children: [ Column( children: [ Padding( - padding: const EdgeInsets.all(8.0), + padding: const EdgeInsets.all(padding), child: GradientCard( - [Color(0xFFffdd00), Color(0xFFfbb034)], + [Color(0xFFFF5F6D), Color(0xFFFFC371)], [MediaQuery.of(context).size.width, 140], Icons.apps, "Services" @@ -33,44 +32,47 @@ class _ServicesScreenState extends State { mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ GradientCard( - [Color(0xFFffdd00), Color(0xFFfbb034)], - [140, 140], + [Color(0xFF662D8C), Color(0xFFED1E79)], + [160, 140], Icons.exit_to_app, "SSH" ), GradientCard( - [Color(0xFFffdd00), Color(0xFFfbb034)], - [140, 140], + [Color(0xFF11998E), Color(0xFF38EF7D)], + [160, 140], Icons.open_in_browser, "Tunnel" ), ], ), - SizedBox(height: 30), + SizedBox(height: padding), Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ GradientCard( - [Color(0xFFffdd00), Color(0xFFfbb034)], - [140, 140], + [Color(0xFFF12711), Color(0xFFF5AF19)], + [160, 140], Icons.desktop_windows, "System" ), GradientCard( - [Color(0xFFffdd00), Color(0xFFfbb034)], - [140, 140], + [Color(0xFF690808), Color(0xFFFF6b6b)], + [160, 140], Icons.insights, "Status" ), ], ), - Row( + Column( children: [ - GradientCard( - [Color(0xFFffdd00), Color(0xFFfbb034)], - [MediaQuery.of(context).size.width, 70], - Icons.desktop_windows, - "Community" + Padding( + padding: const EdgeInsets.all(padding), + child: GradientCard( + [Color(0xFF005C97), Color(0xFF363795)], + [MediaQuery.of(context).size.width, 50], + Icons.people, + "Community" + ), ), ], ), diff --git a/lib/ui/widgets/gradient_card.dart b/lib/ui/widgets/gradient_card.dart index 141fa0e7..16153806 100644 --- a/lib/ui/widgets/gradient_card.dart +++ b/lib/ui/widgets/gradient_card.dart @@ -42,7 +42,7 @@ class _GradientCard extends State { mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ - Icon(widget.icon, color: Colors.white, size: 50), + Icon(widget.icon, color: Colors.white, size: widget.sizes[1]/2.8), Text(widget.type, style: TextStyle(fontSize: 20, color: Colors.white)) ], ) From b6883bd699b874bad2c34539f8c59ad3fb871c17 Mon Sep 17 00:00:00 2001 From: Derek Yeh Date: Wed, 18 Aug 2021 20:08:30 -0700 Subject: [PATCH 3/5] add comments --- lib/ui/home/screen/dashboard_screen.dart | 7 ++++--- .../home/screen/{services_screen.dart => home_screen.dart} | 6 +++--- lib/ui/widgets/gradient_card.dart | 1 + 3 files changed, 8 insertions(+), 6 deletions(-) rename lib/ui/home/screen/{services_screen.dart => home_screen.dart} (94%) diff --git a/lib/ui/home/screen/dashboard_screen.dart b/lib/ui/home/screen/dashboard_screen.dart index ab295630..a277910c 100644 --- a/lib/ui/home/screen/dashboard_screen.dart +++ b/lib/ui/home/screen/dashboard_screen.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_blue/flutter_blue.dart'; import 'package:treehousesble/ui/home/screen/search_screen.dart'; import 'package:treehousesble/ui/home/screen/device_screen.dart'; -import 'package:treehousesble/ui/home/screen/services_screen.dart'; +import 'package:treehousesble/ui/home/screen/home_screen.dart'; import 'package:treehousesble/ui/home/widget/scan_result_tile.dart'; import 'package:treehousesble/ui/home/widget/fab_bottom_app_bar.dart'; import 'package:treehousesble/ui/network/screen/network_screen.dart'; @@ -20,8 +20,9 @@ class _FindDevicesScreenState extends State { Widget pages(int index) { switch(index) { case 0: - //return SearchPage(); - return ServicesScreen(); + return SearchPage(); + //TODO: Link search page to home screen after connection + //return HomeScreen(); case 1: return Container(); case 2: diff --git a/lib/ui/home/screen/services_screen.dart b/lib/ui/home/screen/home_screen.dart similarity index 94% rename from lib/ui/home/screen/services_screen.dart rename to lib/ui/home/screen/home_screen.dart index c70f518e..44699515 100644 --- a/lib/ui/home/screen/services_screen.dart +++ b/lib/ui/home/screen/home_screen.dart @@ -1,12 +1,12 @@ import 'package:flutter/material.dart'; import 'package:treehousesble/ui/widgets/gradient_card.dart'; -class ServicesScreen extends StatefulWidget { +class HomeScreen extends StatefulWidget { @override - State createState() => _ServicesScreenState(); + State createState() => _HomeScreenState(); } -class _ServicesScreenState extends State { +class _HomeScreenState extends State { static const double padding = 15; @override Widget build(BuildContext context) { diff --git a/lib/ui/widgets/gradient_card.dart b/lib/ui/widgets/gradient_card.dart index 16153806..0bfb7a5c 100644 --- a/lib/ui/widgets/gradient_card.dart +++ b/lib/ui/widgets/gradient_card.dart @@ -7,6 +7,7 @@ class GradientCard extends StatefulWidget { final String type; final bool highlighted; final Function? func; + //Colors takes two colors for gradient, sizes takes two numbers: width and height GradientCard(this.colors, this.sizes, this.icon, this.type, [this.highlighted = false, this.func]); @override State createState() => _GradientCard(); From b1ad6eea31f8971f24146b5d4e5724c2bd64c91f Mon Sep 17 00:00:00 2001 From: BryanGazali <46581520+BryanGazali@users.noreply.github.com> Date: Thu, 16 Sep 2021 10:56:41 +0800 Subject: [PATCH 4/5] return search screen when pressing services button --- lib/common/route/route_generator.dart | 3 ++ lib/common/route/routes.dart | 1 + lib/common/widget/gradient_card.dart | 2 +- .../dashboard/screen/dashboard_screen.dart | 6 ++-- lib/feature/dashboard/screen/home_screen.dart | 12 ++++++- lib/feature/network/widget/network_card.dart | 4 +-- pubspec.lock | 34 +++++++++---------- 7 files changed, 39 insertions(+), 23 deletions(-) diff --git a/lib/common/route/route_generator.dart b/lib/common/route/route_generator.dart index 1d216091..a7264bf9 100644 --- a/lib/common/route/route_generator.dart +++ b/lib/common/route/route_generator.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:treehousesble/common/route/routes.dart'; import 'package:treehousesble/feature/dashboard/screen/dashboard_page.dart'; import 'package:treehousesble/feature/dashboard/screen/dashboard_screen.dart'; +import 'package:treehousesble/feature/dashboard/screen/search_screen.dart'; import 'package:treehousesble/feature/onboard/ui/screen/onboard_page.dart'; import 'package:treehousesble/feature/onboard/ui/screen/splash_page.dart'; @@ -14,6 +15,8 @@ class RouteGenerator { return MaterialPageRoute(builder: (_) => OnboardPage()); case Routes.dashboard: return MaterialPageRoute(builder: (_) => DashboardPage()); + case Routes.search: + return MaterialPageRoute(builder: (_) => SearchPage()); default: return MaterialPageRoute(builder: (_) => SplashPage()); } diff --git a/lib/common/route/routes.dart b/lib/common/route/routes.dart index 7c76894d..f46d9531 100644 --- a/lib/common/route/routes.dart +++ b/lib/common/route/routes.dart @@ -5,4 +5,5 @@ class Routes { static const dashboard = "/dashboard"; static const settings = "/settings"; static const notification = "/notification"; + static const search = "/search"; } diff --git a/lib/common/widget/gradient_card.dart b/lib/common/widget/gradient_card.dart index 0bfb7a5c..b5720498 100644 --- a/lib/common/widget/gradient_card.dart +++ b/lib/common/widget/gradient_card.dart @@ -8,7 +8,7 @@ class GradientCard extends StatefulWidget { final bool highlighted; final Function? func; //Colors takes two colors for gradient, sizes takes two numbers: width and height - GradientCard(this.colors, this.sizes, this.icon, this.type, [this.highlighted = false, this.func]); + GradientCard(this.colors, this.sizes, this.icon, this.type, {this.highlighted = false, this.func}); @override State createState() => _GradientCard(); } diff --git a/lib/feature/dashboard/screen/dashboard_screen.dart b/lib/feature/dashboard/screen/dashboard_screen.dart index b3dde918..a878452f 100644 --- a/lib/feature/dashboard/screen/dashboard_screen.dart +++ b/lib/feature/dashboard/screen/dashboard_screen.dart @@ -5,6 +5,8 @@ import 'package:treehousesble/feature/dashboard/screen/search_screen.dart'; import 'package:treehousesble/feature/dashboard/widget/fab_bottom_app_bar.dart'; import 'package:treehousesble/feature/network/screen/network_screen.dart'; import 'package:treehousesble/feature/settings/screen/settings_screen.dart'; + +import 'home_screen.dart'; class FindDevicesScreen extends StatefulWidget { @override State createState() => _FindDevicesScreenState(); @@ -16,9 +18,9 @@ class _FindDevicesScreenState extends State { Widget pages(int index) { switch(index) { case 0: - return SearchPage(); + //return SearchPage(); //TODO: Link search page to home screen after connection - //return HomeScreen(); + return HomeScreen(); case 1: return Container(); case 2: diff --git a/lib/feature/dashboard/screen/home_screen.dart b/lib/feature/dashboard/screen/home_screen.dart index be1c8e93..d20939b4 100644 --- a/lib/feature/dashboard/screen/home_screen.dart +++ b/lib/feature/dashboard/screen/home_screen.dart @@ -1,5 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:treehousesble/common/navigation/nav.dart'; +import 'package:treehousesble/common/route/routes.dart'; import 'package:treehousesble/common/widget/gradient_card.dart'; +import 'package:treehousesble/feature/dashboard/screen/search_screen.dart'; class HomeScreen extends StatefulWidget { @@ -24,7 +27,11 @@ class _HomeScreenState extends State { [Color(0xFFFF5F6D), Color(0xFFFFC371)], [MediaQuery.of(context).size.width, 140], Icons.apps, - "Services" + "Services", + highlighted: false, + func: (){ + Navigator.of(context).pushNamed(Routes.search); + } ), ), ] @@ -82,4 +89,7 @@ class _HomeScreenState extends State { ) ); } + + //returnPage() => Navigator.of(context).pushNamed(Routes.search); + } \ No newline at end of file diff --git a/lib/feature/network/widget/network_card.dart b/lib/feature/network/widget/network_card.dart index 8ab71153..e339622e 100644 --- a/lib/feature/network/widget/network_card.dart +++ b/lib/feature/network/widget/network_card.dart @@ -27,8 +27,8 @@ class _NetWorkCard extends State { [140, 140], widget.icon, widget.type, - widget.networkMode == widget.cardNum, - () => widget.setNetworkMode(widget.cardNum) + highlighted: widget.networkMode == widget.cardNum, + func:() => widget.setNetworkMode(widget.cardNum) ), ); } diff --git a/pubspec.lock b/pubspec.lock index e8573f7f..b9d4521f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -21,7 +21,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.6.1" + version: "2.7.0" bloc: dependency: "direct main" description: @@ -195,7 +195,7 @@ packages: name: freezed_annotation url: "https://pub.dartlang.org" source: hosted - version: "0.14.2" + version: "0.14.3" http: dependency: "direct main" description: @@ -237,14 +237,14 @@ packages: name: json_annotation url: "https://pub.dartlang.org" source: hosted - version: "4.0.1" + version: "4.1.0" logger: dependency: "direct main" description: name: logger url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.1.0" matcher: dependency: transitive description: @@ -258,7 +258,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.4.0" nested: dependency: transitive description: @@ -300,7 +300,7 @@ packages: name: path_provider url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.0.3" path_provider_linux: dependency: transitive description: @@ -342,14 +342,14 @@ packages: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "4.1.0" + version: "4.2.0" platform: dependency: transitive description: name: platform url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.0.2" plugin_platform_interface: dependency: transitive description: @@ -391,7 +391,7 @@ packages: name: shared_preferences url: "https://pub.dartlang.org" source: hosted - version: "2.0.6" + version: "2.0.7" shared_preferences_linux: dependency: transitive description: @@ -419,7 +419,7 @@ packages: name: shared_preferences_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" shared_preferences_windows: dependency: transitive description: @@ -473,7 +473,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.4.0" typed_data: dependency: transitive description: @@ -487,21 +487,21 @@ packages: name: url_launcher url: "https://pub.dartlang.org" source: hosted - version: "6.0.9" + version: "6.0.10" url_launcher_linux: dependency: transitive description: name: url_launcher_linux url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" url_launcher_macos: dependency: transitive description: name: url_launcher_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" url_launcher_platform_interface: dependency: transitive description: @@ -515,14 +515,14 @@ packages: name: url_launcher_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.0.4" url_launcher_windows: dependency: transitive description: name: url_launcher_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" vector_math: dependency: transitive description: @@ -536,7 +536,7 @@ packages: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.2.5" + version: "2.2.9" xdg_directories: dependency: transitive description: From ea31d91a104db1abe28fe97814c2540617af951e Mon Sep 17 00:00:00 2001 From: BryanGazali <46581520+BryanGazali@users.noreply.github.com> Date: Thu, 14 Oct 2021 00:05:20 +0800 Subject: [PATCH 5/5] push --- lib/common/route/routes.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/common/route/routes.dart b/lib/common/route/routes.dart index ce63a23e..afdad440 100644 --- a/lib/common/route/routes.dart +++ b/lib/common/route/routes.dart @@ -6,5 +6,4 @@ class Routes { static const search = "/search"; static const settings = "/settings"; static const notification = "/notification"; - static const search = "/search"; }