From 7bfaaffe0a133f927e60d589e63fd6ff62cbec47 Mon Sep 17 00:00:00 2001 From: Edgar Date: Thu, 10 Jan 2019 12:52:42 +0700 Subject: [PATCH 1/6] create coordinator and two main pages --- lib/main.dart | 3 +++ lib/page/navigation/NavigationPageOne.dart | 23 ------------------- .../navigation/navigation1/coordinator.dart | 18 +++++++++++++++ .../navigation1/widgets/main_page.dart | 0 .../navigation1/widgets/statistics_page.dart | 0 5 files changed, 21 insertions(+), 23 deletions(-) delete mode 100644 lib/page/navigation/NavigationPageOne.dart create mode 100644 lib/page/navigation/navigation1/coordinator.dart create mode 100644 lib/page/navigation/navigation1/widgets/main_page.dart create mode 100644 lib/page/navigation/navigation1/widgets/statistics_page.dart diff --git a/lib/main.dart b/lib/main.dart index cfad4a9..19e65df 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_ui_nice/page/navigation/NavigationPageOne.dart'; import 'package:flutter_ui_nice/page/page_const.dart'; import 'const/string_const.dart'; import 'const/color_const.dart'; @@ -38,6 +39,8 @@ class MyApp extends StatelessWidget { FEED_PAGES[12]: (context) => FeedPageThirteen(), SHOPPING_PAGES[17]: (context) => ShopPageEighteen(), SHOPPING_PAGES[18]: (context) => ShopPageNineteen(), + + //NAVIGATION_PAGES[0]: (context) => , //FIXME there are other pages to jump with 'page_str_const.dart',there should be make by manager }, onUnknownRoute: (setting) => diff --git a/lib/page/navigation/NavigationPageOne.dart b/lib/page/navigation/NavigationPageOne.dart deleted file mode 100644 index 4cacf75..0000000 --- a/lib/page/navigation/NavigationPageOne.dart +++ /dev/null @@ -1,23 +0,0 @@ -/// -/// Created by NieBin on 2018/12/25 -/// Github: https://github.com/nb312 -/// Email: niebin312@gmail.com -/// -import "package:flutter/material.dart"; - -class NavigationPageOne extends StatefulWidget { - @override - _NavigationState createState() => _NavigationState(); -} - -class _NavigationState extends State { - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text("Navigation one"), - ), - body: Text("Navigation page one"), - ); - } -} diff --git a/lib/page/navigation/navigation1/coordinator.dart b/lib/page/navigation/navigation1/coordinator.dart new file mode 100644 index 0000000..1b863cb --- /dev/null +++ b/lib/page/navigation/navigation1/coordinator.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; + +class Coordinator extends StatefulWidget { + @override + _Coordinator createState() => _Coordinator(); +} + +class _Coordinator extends State { + + @override + void initState() { + super.initState(); + } + @override + Widget build(BuildContext context) { + return null; + } +} \ No newline at end of file diff --git a/lib/page/navigation/navigation1/widgets/main_page.dart b/lib/page/navigation/navigation1/widgets/main_page.dart new file mode 100644 index 0000000..e69de29 diff --git a/lib/page/navigation/navigation1/widgets/statistics_page.dart b/lib/page/navigation/navigation1/widgets/statistics_page.dart new file mode 100644 index 0000000..e69de29 From a18bd4f8e44495ee0377c2a21023e9312846c013 Mon Sep 17 00:00:00 2001 From: Edgar Date: Thu, 10 Jan 2019 14:43:29 +0700 Subject: [PATCH 2/6] create main page --- lib/main.dart | 4 ++-- .../navigation/navigation1/coordinator.dart | 15 ++++++++----- .../navigation1/widgets/main_page.dart | 21 +++++++++++++++++++ .../widgets/statistics_page.dart | 0 4 files changed, 33 insertions(+), 7 deletions(-) rename lib/page/navigation/{navigation1 => }/widgets/statistics_page.dart (100%) diff --git a/lib/main.dart b/lib/main.dart index 19e65df..29face3 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_ui_nice/page/navigation/NavigationPageOne.dart'; +import 'package:flutter_ui_nice/page/navigation/navigation1/coordinator.dart'; import 'package:flutter_ui_nice/page/page_const.dart'; import 'const/string_const.dart'; import 'const/color_const.dart'; @@ -40,7 +40,7 @@ class MyApp extends StatelessWidget { SHOPPING_PAGES[17]: (context) => ShopPageEighteen(), SHOPPING_PAGES[18]: (context) => ShopPageNineteen(), - //NAVIGATION_PAGES[0]: (context) => , + NAVIGATION_PAGES[0]: (context) => NavigationOneCoordinator(), //FIXME there are other pages to jump with 'page_str_const.dart',there should be make by manager }, onUnknownRoute: (setting) => diff --git a/lib/page/navigation/navigation1/coordinator.dart b/lib/page/navigation/navigation1/coordinator.dart index 1b863cb..1b55615 100644 --- a/lib/page/navigation/navigation1/coordinator.dart +++ b/lib/page/navigation/navigation1/coordinator.dart @@ -1,18 +1,23 @@ import 'package:flutter/material.dart'; +import 'package:flutter_ui_nice/page/navigation/navigation1/widgets/main_page.dart'; -class Coordinator extends StatefulWidget { +class NavigationOneCoordinator extends StatefulWidget { @override _Coordinator createState() => _Coordinator(); } -class _Coordinator extends State { +class _Coordinator extends State { @override void initState() { super.initState(); } + @override - Widget build(BuildContext context) { - return null; - } + Widget build(BuildContext context) => MainPage(); + + @override + void dispose() { + super.dispose(); + } } \ No newline at end of file diff --git a/lib/page/navigation/navigation1/widgets/main_page.dart b/lib/page/navigation/navigation1/widgets/main_page.dart index e69de29..02b65c6 100644 --- a/lib/page/navigation/navigation1/widgets/main_page.dart +++ b/lib/page/navigation/navigation1/widgets/main_page.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ui_nice/const/color_const.dart'; + +class MainPage extends StatelessWidget { + + @override + Widget build(BuildContext context) => Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [YELLOW, GREEN, BLUE], + ) + ), + child: Stack( + children: [ + + ], + ), + ); +} \ No newline at end of file diff --git a/lib/page/navigation/navigation1/widgets/statistics_page.dart b/lib/page/navigation/widgets/statistics_page.dart similarity index 100% rename from lib/page/navigation/navigation1/widgets/statistics_page.dart rename to lib/page/navigation/widgets/statistics_page.dart From c9c9acef982bfcd3b4ae5d7812f7437c18824928 Mon Sep 17 00:00:00 2001 From: Edgar Date: Thu, 10 Jan 2019 16:41:53 +0700 Subject: [PATCH 3/6] create common background instead :sparkles: --- .../navigation/navigation1/coordinator.dart | 10 +++++++-- .../navigation1/widgets/main_page.dart | 21 ------------------- .../navigation/widgets/background_common.dart | 20 ++++++++++++++++++ 3 files changed, 28 insertions(+), 23 deletions(-) delete mode 100644 lib/page/navigation/navigation1/widgets/main_page.dart create mode 100644 lib/page/navigation/widgets/background_common.dart diff --git a/lib/page/navigation/navigation1/coordinator.dart b/lib/page/navigation/navigation1/coordinator.dart index 1b55615..713fc20 100644 --- a/lib/page/navigation/navigation1/coordinator.dart +++ b/lib/page/navigation/navigation1/coordinator.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_ui_nice/page/navigation/navigation1/widgets/main_page.dart'; +import 'package:flutter_ui_nice/page/navigation/widgets/background_common.dart'; class NavigationOneCoordinator extends StatefulWidget { @override @@ -14,7 +14,13 @@ class _Coordinator extends State { } @override - Widget build(BuildContext context) => MainPage(); + Widget build(BuildContext context) => BackgroundCommon( + child: Stack( + children: [ + + ], + ), + ); @override void dispose() { diff --git a/lib/page/navigation/navigation1/widgets/main_page.dart b/lib/page/navigation/navigation1/widgets/main_page.dart deleted file mode 100644 index 02b65c6..0000000 --- a/lib/page/navigation/navigation1/widgets/main_page.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_ui_nice/const/color_const.dart'; - -class MainPage extends StatelessWidget { - - @override - Widget build(BuildContext context) => Container( - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [YELLOW, GREEN, BLUE], - ) - ), - child: Stack( - children: [ - - ], - ), - ); -} \ No newline at end of file diff --git a/lib/page/navigation/widgets/background_common.dart b/lib/page/navigation/widgets/background_common.dart new file mode 100644 index 0000000..fbd2d98 --- /dev/null +++ b/lib/page/navigation/widgets/background_common.dart @@ -0,0 +1,20 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ui_nice/const/color_const.dart'; + +class BackgroundCommon extends StatelessWidget { + + BackgroundCommon({this.child, Key key}) : super(key: key); + final Widget child; + + @override + Widget build(BuildContext context) => Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [YELLOW, GREEN, BLUE], + ) + ), + child: child + ); +} From 4af6759ecaae8dff337fbcf1e484db248665e8a0 Mon Sep 17 00:00:00 2001 From: Edgar Date: Thu, 10 Jan 2019 18:58:16 +0700 Subject: [PATCH 4/6] create button :sparkles: --- .../navigation/navigation1/coordinator.dart | 11 ++-- .../navigation1/widgets/button.dart | 65 +++++++++++++++++++ 2 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 lib/page/navigation/navigation1/widgets/button.dart diff --git a/lib/page/navigation/navigation1/coordinator.dart b/lib/page/navigation/navigation1/coordinator.dart index 713fc20..546e0c6 100644 --- a/lib/page/navigation/navigation1/coordinator.dart +++ b/lib/page/navigation/navigation1/coordinator.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_ui_nice/page/navigation/navigation1/widgets/button.dart'; import 'package:flutter_ui_nice/page/navigation/widgets/background_common.dart'; class NavigationOneCoordinator extends StatefulWidget { @@ -14,11 +15,13 @@ class _Coordinator extends State { } @override - Widget build(BuildContext context) => BackgroundCommon( - child: Stack( - children: [ + Widget build(BuildContext context) => Material( + child: BackgroundCommon( + child: Stack( + children: [ - ], + ], + ), ), ); diff --git a/lib/page/navigation/navigation1/widgets/button.dart b/lib/page/navigation/navigation1/widgets/button.dart new file mode 100644 index 0000000..6171359 --- /dev/null +++ b/lib/page/navigation/navigation1/widgets/button.dart @@ -0,0 +1,65 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ui_nice/const/color_const.dart'; + +class Button { + + static Widget home() => _buildButton("HOME", Icons.home); + + static Widget chat({int notification}) => _buildButton("CHAT", Icons.chat, notification: notification); + + static Widget feed() => _buildButton("FEED", Icons.rss_feed); + + static Widget profile() => _buildButton("PROFILE", Icons.person); + + static Widget settings() => _buildButton("SETTINGS", Icons.settings); + + static Widget _buildButton(String title, IconData icon, {int notification}) { + if (notification != null) { + return Container( + child: Stack( + children: [ + Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(50.0), + color: RED + ), + ), + _button(title, icon) + ], + ), + ); + } else { + return _button(title, icon); + } + } + + static Widget _button(String title, IconData icon) => Container( + height: 50.0, + width: 180.0, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20.0), + color: GREEN + ), + child: InkResponse( + onTap: () => debugPrint('Pressed'), + splashColor: BLUE_LIGHT, + borderRadius: BorderRadius.circular(100.0), + child: Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + title, + style: TextStyle( + fontSize: 18.0, + color: TEXT_BLACK, + ), + ), + SizedBox(width: 5.0,), + Icon(icon) + ], + ), + ), + ), + ); +} \ No newline at end of file From 66b2fc8b35354aba59f60b045497d271037bbd09 Mon Sep 17 00:00:00 2001 From: Edgar Date: Fri, 11 Jan 2019 15:03:30 +0700 Subject: [PATCH 5/6] create menu buttons :sparkles: --- .../navigation/navigation1/coordinator.dart | 34 +++++++- .../navigation1/widgets/button.dart | 83 ++++++++++--------- .../navigation1/widgets/menu_buttons.dart | 41 +++++++++ 3 files changed, 116 insertions(+), 42 deletions(-) create mode 100644 lib/page/navigation/navigation1/widgets/menu_buttons.dart diff --git a/lib/page/navigation/navigation1/coordinator.dart b/lib/page/navigation/navigation1/coordinator.dart index 546e0c6..af63c6c 100644 --- a/lib/page/navigation/navigation1/coordinator.dart +++ b/lib/page/navigation/navigation1/coordinator.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_ui_nice/page/navigation/navigation1/widgets/button.dart'; +import 'package:flutter_ui_nice/page/navigation/navigation1/widgets/menu_buttons.dart'; import 'package:flutter_ui_nice/page/navigation/widgets/background_common.dart'; class NavigationOneCoordinator extends StatefulWidget { @@ -14,12 +14,42 @@ class _Coordinator extends State { super.initState(); } + _onHomePressed() { + debugPrint("Home Pressed"); + } + + _onChatPressed() { + debugPrint("Chat Pressed"); + } + + _onFeedPressed() { + debugPrint("Feed Pressed"); + } + + _onProfilePressed() { + debugPrint("Profile Pressed"); + } + + _onSettingsPressed() { + debugPrint("settings Pressed"); + } + @override Widget build(BuildContext context) => Material( child: BackgroundCommon( child: Stack( children: [ - + Positioned( + bottom: 100.0, + right: 50.0, + child: MenuButtons( + onChatPressed: _onChatPressed, + onFeedPressed: _onFeedPressed, + onHomePressed: _onHomePressed, + onProfilePressed: _onProfilePressed, + onSettingsPressed: _onSettingsPressed, + ), + ) ], ), ), diff --git a/lib/page/navigation/navigation1/widgets/button.dart b/lib/page/navigation/navigation1/widgets/button.dart index 6171359..27eea91 100644 --- a/lib/page/navigation/navigation1/widgets/button.dart +++ b/lib/page/navigation/navigation1/widgets/button.dart @@ -3,63 +3,66 @@ import 'package:flutter_ui_nice/const/color_const.dart'; class Button { - static Widget home() => _buildButton("HOME", Icons.home); + static Widget home(VoidCallback onPressed) => _buildButton(onPressed, "HOME", Icons.home); - static Widget chat({int notification}) => _buildButton("CHAT", Icons.chat, notification: notification); + static Widget chat(VoidCallback onPressed, {int notification}) => _buildButton(onPressed, "CHAT", Icons.chat, notification: + notification); - static Widget feed() => _buildButton("FEED", Icons.rss_feed); + static Widget feed(VoidCallback onPressed) => _buildButton(onPressed, "FEED", Icons.rss_feed); - static Widget profile() => _buildButton("PROFILE", Icons.person); + static Widget profile(VoidCallback onPressed) => _buildButton(onPressed, "PROFILE", Icons.person); - static Widget settings() => _buildButton("SETTINGS", Icons.settings); + static Widget settings(VoidCallback onPressed) => _buildButton(onPressed, "SETTINGS", Icons.settings); - static Widget _buildButton(String title, IconData icon, {int notification}) { + static Widget _buildButton(VoidCallback onPressed, String title, IconData icon, {int notification}) { if (notification != null) { return Container( child: Stack( children: [ - Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(50.0), - color: RED - ), + _button(onPressed, title, icon), + Positioned( + top: 0.0, + right: 0.0, + child: Container( + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.redAccent + ), + child: Padding( + padding: const EdgeInsets.all(6.0), + child: Text("$notification", style: TextStyle(color: Colors.white),), + ), + ), ), - _button(title, icon) ], ), ); } else { - return _button(title, icon); + return _button(onPressed, title, icon); } } - static Widget _button(String title, IconData icon) => Container( - height: 50.0, - width: 180.0, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(20.0), - color: GREEN - ), - child: InkResponse( - onTap: () => debugPrint('Pressed'), - splashColor: BLUE_LIGHT, - borderRadius: BorderRadius.circular(100.0), - child: Center( - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - title, - style: TextStyle( - fontSize: 18.0, - color: TEXT_BLACK, - ), - ), - SizedBox(width: 5.0,), - Icon(icon) - ], - ), - ), + static Widget _button(VoidCallback onPressed, String title, IconData icon) => RaisedButton( + color: GREEN, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)), + onPressed: onPressed, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0, vertical: 10.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: TextStyle( + fontSize: 18.0, + color: TEXT_BLACK, + ), + ), + SizedBox(width: 5.0,), + Icon(icon) + ], + ), ), ); + } \ No newline at end of file diff --git a/lib/page/navigation/navigation1/widgets/menu_buttons.dart b/lib/page/navigation/navigation1/widgets/menu_buttons.dart new file mode 100644 index 0000000..bcc6650 --- /dev/null +++ b/lib/page/navigation/navigation1/widgets/menu_buttons.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ui_nice/page/navigation/navigation1/widgets/button.dart'; + +class MenuButtons extends StatelessWidget { + MenuButtons({this.onHomePressed, this.onChatPressed, this.onFeedPressed, this.onProfilePressed, this + .onSettingsPressed}); + final VoidCallback onHomePressed; + final VoidCallback onChatPressed; + final VoidCallback onFeedPressed; + final VoidCallback onProfilePressed; + final VoidCallback onSettingsPressed; + + List _allButtons({int notifications}) => [ + Padding( + padding: const EdgeInsets.only(left: 10.0, right: 30.0, bottom: 20.0), + child: Button.home(onHomePressed), + ), + Padding( + padding: const EdgeInsets.only(left: 50.0, bottom: 20.0), + child: Button.chat(onChatPressed, notification: notifications), + ), + Padding( + padding: const EdgeInsets.only(left: 8.0, bottom: 20.0), + child: Button.feed(onFeedPressed), + ), + Padding( + padding: const EdgeInsets.only(left: 50.0, bottom: 20.0), + child: Button.profile(onProfilePressed), + ), + Button.settings(onSettingsPressed) + ]; + + @override + Widget build(BuildContext context) { + return Container( + child: Column( + children: _allButtons(notifications: 5), + ), + ); + } +} \ No newline at end of file From 71d702e197b5cb2a9161a10673ab9f24707a0227 Mon Sep 17 00:00:00 2001 From: Edgar Date: Fri, 11 Jan 2019 16:02:31 +0700 Subject: [PATCH 6/6] home page, animations, refactor structure :beers: --- .../navigation/common/pages/home_page.dart | 31 +++++++++++++ .../widgets/background_common.dart | 0 .../animations/home_page_animator.dart | 11 +++++ .../navigation/navigation1/coordinator.dart | 44 ++++++++++++++++--- .../navigation/widgets/statistics_page.dart | 0 5 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 lib/page/navigation/common/pages/home_page.dart rename lib/page/navigation/{ => common}/widgets/background_common.dart (100%) create mode 100644 lib/page/navigation/navigation1/animations/home_page_animator.dart delete mode 100644 lib/page/navigation/widgets/statistics_page.dart diff --git a/lib/page/navigation/common/pages/home_page.dart b/lib/page/navigation/common/pages/home_page.dart new file mode 100644 index 0000000..00ae207 --- /dev/null +++ b/lib/page/navigation/common/pages/home_page.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ui_nice/const/color_const.dart'; + +class HomePage extends StatelessWidget { + HomePage(this.onMenuPressed); + final VoidCallback onMenuPressed; + + @override + Widget build(BuildContext context) { + return Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10.0), + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [YELLOW, GREEN, BLUE], + ), + boxShadow: [ + BoxShadow( + color: Colors.black26, + offset: Offset(2.0, 1.0), + blurRadius: 10.0, + ) + ], + ), + child: Center( + child: RaisedButton(onPressed: onMenuPressed, child: Text("Open Menu"),), + ), + ); + } +} \ No newline at end of file diff --git a/lib/page/navigation/widgets/background_common.dart b/lib/page/navigation/common/widgets/background_common.dart similarity index 100% rename from lib/page/navigation/widgets/background_common.dart rename to lib/page/navigation/common/widgets/background_common.dart diff --git a/lib/page/navigation/navigation1/animations/home_page_animator.dart b/lib/page/navigation/navigation1/animations/home_page_animator.dart new file mode 100644 index 0000000..308eb8b --- /dev/null +++ b/lib/page/navigation/navigation1/animations/home_page_animator.dart @@ -0,0 +1,11 @@ +import 'package:flutter/widgets.dart'; + +class HomePageAnimator { + HomePageAnimator(this.controller) : + translateLeft = Tween(begin: 0.0, end: -200.0).animate(controller), + scaleDown = Tween(begin: 1.0, end: 0.8).animate(controller); + + final AnimationController controller; + final Animation translateLeft; + final Animation scaleDown; +} \ No newline at end of file diff --git a/lib/page/navigation/navigation1/coordinator.dart b/lib/page/navigation/navigation1/coordinator.dart index af63c6c..21354c3 100644 --- a/lib/page/navigation/navigation1/coordinator.dart +++ b/lib/page/navigation/navigation1/coordinator.dart @@ -1,22 +1,26 @@ import 'package:flutter/material.dart'; +import 'package:flutter_ui_nice/page/navigation/navigation1/animations/home_page_animator.dart'; import 'package:flutter_ui_nice/page/navigation/navigation1/widgets/menu_buttons.dart'; -import 'package:flutter_ui_nice/page/navigation/widgets/background_common.dart'; +import 'package:flutter_ui_nice/page/navigation/common/widgets/background_common.dart'; +import 'package:flutter_ui_nice/page/navigation/common/pages/home_page.dart'; class NavigationOneCoordinator extends StatefulWidget { @override _Coordinator createState() => _Coordinator(); } -class _Coordinator extends State { +class _Coordinator extends State with TickerProviderStateMixin { + AnimationController _controller; + HomePageAnimator _animator; @override void initState() { super.initState(); + _controller = AnimationController(vsync: this, duration: Duration(milliseconds: 700)); + _animator = HomePageAnimator(_controller); } - _onHomePressed() { - debugPrint("Home Pressed"); - } + _onHomePressed() => _showHome(); _onChatPressed() { debugPrint("Chat Pressed"); @@ -49,14 +53,42 @@ class _Coordinator extends State { onProfilePressed: _onProfilePressed, onSettingsPressed: _onSettingsPressed, ), - ) + ), + + AnimatedBuilder( + animation: _controller, + builder: (context, widget) => Transform( + alignment: Alignment.centerLeft, + transform: Matrix4 + .translationValues(_animator.translateLeft.value, 0.0, 0.0) + ..scale(_animator.scaleDown.value), + child: HomePage(() => _openMenu()), + ), + ), ], ), ), ); + Future _openMenu() async { + try { + await _controller.forward().orCancel; + } on TickerCanceled { + print("Animation Failed"); + } + } + + Future _showHome() async { + try { + await _controller.reverse().orCancel; + } on TickerCanceled { + print("Animation Failed"); + } + } + @override void dispose() { super.dispose(); + _controller.dispose(); } } \ No newline at end of file diff --git a/lib/page/navigation/widgets/statistics_page.dart b/lib/page/navigation/widgets/statistics_page.dart deleted file mode 100644 index e69de29..0000000