diff --git a/README.md b/README.md index bb804a14..9aace379 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ The code for Springy Widget is taken and refactored from (https://github.com/mat ## User Flow Screens - + ## Settings UIs diff --git a/lib/core/presentation/routes.dart b/lib/core/presentation/routes.dart index 1749fe97..a9267d4b 100644 --- a/lib/core/presentation/routes.dart +++ b/lib/core/presentation/routes.dart @@ -18,6 +18,7 @@ import 'package:flutter_ui_challenges/src/pages/invitation/inlanding.dart'; import 'package:flutter_ui_challenges/src/pages/invitation/invitation1.dart'; import 'package:flutter_ui_challenges/src/pages/login/auth3.dart'; import 'package:flutter_ui_challenges/src/pages/login/login8.dart'; +import 'package:flutter_ui_challenges/src/pages/login/login9.dart'; import 'package:flutter_ui_challenges/src/pages/misc/bottomsheet.dart'; import 'package:flutter_ui_challenges/src/pages/food/cake.dart'; import 'package:flutter_ui_challenges/src/pages/misc/crop.dart'; @@ -149,6 +150,7 @@ final List pages = [ SubMenuItem("Login Six", LoginSixPage(), path: LoginSixPage.path), SubMenuItem("Login Seven", LoginSevenPage(), path: LoginSevenPage.path), SubMenuItem("Login Eight", LoginEightPage(), path: LoginEightPage.path), + SubMenuItem("Login Nine", LoginNinePage(), path: LoginNinePage.path), SubMenuItem("Signup One", SignupOnePage(), path: SignupOnePage.path), SubMenuItem("Signup Two", SignupTwoPage(), path: SignupTwoPage.path), ]), diff --git a/lib/src/pages/login/login8.dart b/lib/src/pages/login/login8.dart index acabfb94..6e9cec92 100644 --- a/lib/src/pages/login/login8.dart +++ b/lib/src/pages/login/login8.dart @@ -1,6 +1,6 @@ /** - * Author: Sudip Thapa - * profile: https://github.com/sudeepthapa + * Author: Damodar Lohani + * profile: https://github.com/lohanidamodar */ import 'package:flutter/material.dart'; import 'package:flutter_ui_challenges/core/presentation/res/assets.dart'; diff --git a/lib/src/pages/login/login9.dart b/lib/src/pages/login/login9.dart new file mode 100644 index 00000000..3ef20b54 --- /dev/null +++ b/lib/src/pages/login/login9.dart @@ -0,0 +1,150 @@ +import 'package:animator/animator.dart'; +/** + * Author: Damodar Lohani + * profile: https://github.com/lohanidamodar + */ +import 'package:flutter/material.dart'; +import 'package:flutter_ui_challenges/core/presentation/res/assets.dart'; + +class LoginNinePage extends StatelessWidget { + static final String path = "lib/src/pages/login/login9.dart"; + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Expanded( + child: Stack( + fit: StackFit.expand, + children: [ + Container( + decoration: BoxDecoration( + image: DecorationImage( + image: NetworkImage(images[0]), + fit: BoxFit.cover, + ), + ), + foregroundDecoration: BoxDecoration( + color: Colors.black.withOpacity(0.7), + ), + ), + if (MediaQuery.of(context).viewInsets == EdgeInsets.zero) + Padding( + padding: const EdgeInsets.only(top: kToolbarHeight), + child: Text( + "Beautiful App", + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 20.0, + ), + textAlign: TextAlign.center, + ), + ), + Animator( + triggerOnInit: true, + curve: Curves.easeIn, + tween: Tween(begin: -1, end: 0), + builder: (context, state, child) { + return FractionalTranslation( + translation: Offset(state.value,0), + child: child, + ); + }, + child: Align( + alignment: Alignment.bottomCenter, + child: ListView( + physics: + MediaQuery.of(context).viewInsets == EdgeInsets.zero + ? NeverScrollableScrollPhysics() + : null, + padding: const EdgeInsets.all(32.0), + shrinkWrap: true, + children: [ + const SizedBox(height: kToolbarHeight), + Text( + "Namaste!", + style: Theme.of(context) + .textTheme + .headline4 + .copyWith(color: Colors.white), + textAlign: TextAlign.center, + ), + const SizedBox(height: 10.0), + Text( + "Welcome to this awesome app. We are so happy that you are using our app.", + style: TextStyle( + color: Colors.blueGrey, + fontSize: 16.0, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 20.0), + TextField( + decoration: InputDecoration( + contentPadding: const EdgeInsets.symmetric( + vertical: 16.0, horizontal: 32.0), + suffixIcon: Icon( + Icons.person, + color: Colors.blueGrey, + ), + hintText: "Username", + hintStyle: TextStyle(color: Colors.blueGrey), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(40.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.blueGrey), + borderRadius: BorderRadius.circular(40.0), + ), + ), + ), + const SizedBox(height: 10.0), + TextField( + decoration: InputDecoration( + contentPadding: const EdgeInsets.symmetric( + vertical: 16.0, horizontal: 32.0), + suffixIcon: Icon( + Icons.lock, + color: Colors.blueGrey, + ), + hintText: "Password", + hintStyle: TextStyle(color: Colors.blueGrey), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(40.0), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: Colors.blueGrey), + borderRadius: BorderRadius.circular(40.0), + ), + ), + ), + const SizedBox(height: 20.0), + FlatButton( + textColor: Colors.white, + child: Text("Create new account"), + onPressed: () {}, + ), + ], + ), + ), + ), + ], + ), + ), + if (MediaQuery.of(context).viewInsets == EdgeInsets.zero) + RaisedButton( + padding: const EdgeInsets.all(32.0), + elevation: 0, + textColor: Colors.white, + color: Colors.deepOrange, + child: Text("Continue".toUpperCase()), + onPressed: () {}, + ) + ], + ), + ); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index 064098bb..5db6debe 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -30,11 +30,12 @@ dependencies: flutter_staggered_grid_view: ^0.3.0 crop: ^0.1.2 share: ^0.6.4+3 + animator: ^2.0.1 dev_dependencies: flutter_test: sdk: flutter flutter_launcher_icons: ^0.7.0 - flutter_automation: + flutter_automation: null flutter_icons: android: true @@ -44,7 +45,6 @@ flutter_icons: # For information on the generic Dart part of this file, see the # following page: https://www.dartlang.org/tools/pub/pubspec - # The following section is specific to Flutter. flutter: # The following line ensures that the Material Icons font is @@ -89,7 +89,7 @@ flutter: fonts: - asset: assets/fonts/icomoon.ttf - - family: MyFlutterApp fonts: - asset: assets/fonts/MyFlutterApp.ttf + diff --git a/screenshots/login9.png b/screenshots/login9.png new file mode 100644 index 00000000..2cde107d Binary files /dev/null and b/screenshots/login9.png differ