diff --git a/README.md b/README.md index ba4c840..aa082b9 100644 --- a/README.md +++ b/README.md @@ -98,17 +98,17 @@ flutter build apk | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | | | | | | -| Page 61 | Page 62 | Page 63 | Page 64 | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ------- | -| | | | | +| Page 61 | Page 62 | Page 63 | Page 64 | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| | | | | | Page 65 | Page 66 | Page 67 | Page 68 | | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | | | | | | -| Page 69 | Page 70 | Page 71 | Page 72 | -| ---------------------------------------------------- | ---------------------------------------------------- | ------- | ---------------------------------------------------- | -| | | | | +| Page 69 | Page 70 | Page 71 | Page 72 | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| | | | | | Page 73 | Page 74 | Page 75 | Page 76 | | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | @@ -126,23 +126,18 @@ flutter build apk | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | | | | | | -| Page 89 | Page 90 | Page 91 | Page 92 | -| ---------------------------------------------------- | ---------------------------------------------------- | ------- | ---------------------------------------------------- | -| | | | | +| Page 89 | Page 90 | Page 91 | Page 92 | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| | | | | -| Page 93 | Page 94 | Page 95 | Page 96 | -| ------- | ---------------------------------------------------- | ------- | ------- | +| Page 93 | Page 94 | Page 95 | Page 96 | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | | | | | | -| Page 97 | Page 98 | Page 99 | Page 100 | -| ------- | ------- | ---------------------------------------------------- | ----------------------------------------------------- | +| Page 97 | Page 98 | Page 99 | Page 100 | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ----------------------------------------------------- | | | | | | - -| Page 99 | Page 100 | -| ------- | -------- | -| | | -
Web Page 7 Web page 7 diff --git a/art/screenshots/page_64.jpeg b/art/screenshots/page_64.jpeg new file mode 100644 index 0000000..793eff1 Binary files /dev/null and b/art/screenshots/page_64.jpeg differ diff --git a/art/screenshots/page_71.png b/art/screenshots/page_71.png new file mode 100644 index 0000000..ffaa17f Binary files /dev/null and b/art/screenshots/page_71.png differ diff --git a/art/screenshots/page_91.jpeg b/art/screenshots/page_91.jpeg new file mode 100644 index 0000000..5618875 Binary files /dev/null and b/art/screenshots/page_91.jpeg differ diff --git a/lib/src/mobile_ui/91/page_91.dart b/lib/src/mobile_ui/91/page_91.dart new file mode 100644 index 0000000..c4f5a76 --- /dev/null +++ b/lib/src/mobile_ui/91/page_91.dart @@ -0,0 +1,464 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; + +class Page91 extends StatelessWidget { + const Page91({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + backgroundColor: Colors.white, + foregroundColor: Colors.black, + actions: [ + Padding( + padding: const EdgeInsets.only(right: 8.0), + child: CircleAvatar( + radius: 20.r, + backgroundColor: Color(0xFFC4C4C4), + foregroundColor: Colors.black, + child: Icon( + Icons.person, + size: 24.w, + ), + ), + ), + ], + ), + body: ListView( + padding: EdgeInsets.symmetric(vertical: 14.h, horizontal: 12.w), + children: [ + SizedBox( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Hey, Oscar', + style: TextStyle( + color: Colors.black, + fontSize: 24, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w600, + ), + ), + 3.verticalSpace, + Text( + 'Where to next?', + style: TextStyle( + color: Colors.black, + fontSize: 16, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + ], + ), + ), + 32.verticalSpace, + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + width: 60, + height: 60, + decoration: ShapeDecoration( + color: Color(0xFFC4C4C4), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + ), + 60.horizontalSpace, + Container( + width: 60, + height: 60, + decoration: ShapeDecoration( + color: Color(0xFFC4C4C4), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + ), + 60.horizontalSpace, + Container( + width: 60, + height: 60, + decoration: ShapeDecoration( + color: Color(0xFFC4C4C4), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + ), + ], + ), + 37.verticalSpace, + TextField( + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide.none, + gapPadding: 7, + ), + prefixIcon: Icon(Icons.search), + suffixIcon: Icon(Icons.mic), + fillColor: Color(0x1E767680), + filled: true, + hintText: "Search", + hintStyle: TextStyle( + color: Color(0x993C3C43), + fontSize: 17, + fontFamily: 'SF Pro Text', + fontWeight: FontWeight.w400, + letterSpacing: -0.41, + ), + contentPadding: EdgeInsets.symmetric( + vertical: 7.0, + ), + ), + ), + 32.verticalSpace, + SizedBox( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Explore from Seattle', + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w600, + ), + ), + 2.verticalSpace, + Text( + 'See the world on your budget', + style: TextStyle( + color: Colors.black, + fontSize: 16, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + ], + ), + ), + 16.verticalSpace, + Container( + height: 320.h, + decoration: ShapeDecoration( + color: Color(0xFFC4C4C4), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + alignment: Alignment.bottomCenter, + padding: EdgeInsets.symmetric(horizontal: 33.w, vertical: 24.h), + child: Container( + width: double.infinity, + height: 38.h, + padding: const EdgeInsets.all(8), + decoration: ShapeDecoration( + color: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8)), + ), + alignment: Alignment.center, + child: Text( + 'Buy now', + textAlign: TextAlign.center, + style: TextStyle( + color: Color(0xFF262626), + fontSize: 14, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w500, + ), + ), + ), + ), + 26.verticalSpace, + SizedBox( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Get inspired', + style: TextStyle( + color: Colors.black, + fontSize: 20, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w600, + ), + ), + 2.verticalSpace, + Text( + 'You think about your own copywriting :)) haha', + style: TextStyle( + color: Colors.black, + fontSize: 16, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + ], + ), + ), + ], + ), + drawerScrimColor: Colors.transparent, + drawer: Drawer( + backgroundColor: Color(0xFF262626), + width: 316.w, + child: SafeArea( + bottom: false, + child: Column( + children: [ + Container( + padding: EdgeInsets.only(left: 27.w, bottom: 14.h, top: 27.h), + width: double.infinity, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + width: 80, + height: 80, + decoration: ShapeDecoration( + color: Color(0xFFC4C4C4), + shape: OvalBorder( + side: BorderSide( + width: 1, + strokeAlign: BorderSide.strokeAlignOutside, + color: Colors.white, + ), + ), + ), + ), + SizedBox( + height: 32.h, + ), + Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Your name', + style: TextStyle( + color: Colors.white, + fontSize: 18.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + const SizedBox(height: 12), + Text( + 'View profile', + style: TextStyle( + color: Color(0xFFA8A8A8), + fontSize: 12.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w300, + ), + ), + ], + ), + ], + ), + ), + Expanded( + child: Container( + width: double.infinity, + color: Color(0xff525252), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Padding( + padding: + EdgeInsets.only(left: 27, right: 27, top: 22), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon( + Icons.sentiment_satisfied_alt, + size: 24.w, + color: Colors.white, + ), + 16.horizontalSpace, + Text( + 'Tab #1', + style: TextStyle( + color: Colors.white, + fontSize: 16.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + ], + ), + SizedBox( + height: 24.h, + ), + Row( + children: [ + Icon( + Icons.sentiment_satisfied_alt, + size: 24.w, + color: Colors.white, + ), + 16.horizontalSpace, + Text( + 'Tab #2', + style: TextStyle( + color: Colors.white, + fontSize: 16.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + ], + ), + SizedBox( + height: 24.h, + ), + Row( + children: [ + Icon( + Icons.sentiment_satisfied_alt, + size: 24.w, + color: Colors.white, + ), + 16.horizontalSpace, + Text( + 'Tab #3', + style: TextStyle( + color: Colors.white, + fontSize: 16.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + ], + ), + SizedBox( + height: 24.h, + ), + Row( + children: [ + Icon( + Icons.sentiment_satisfied_alt, + size: 24.w, + color: Colors.white, + ), + 16.horizontalSpace, + Text( + 'Tab #4', + style: TextStyle( + color: Colors.white, + fontSize: 16.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + ], + ), + SizedBox( + height: 24.h, + ), + Row( + children: [ + Icon( + Icons.sentiment_satisfied_alt, + color: Colors.white, + size: 24.w, + ), + 16.horizontalSpace, + Text( + 'Tab #5', + style: TextStyle( + color: Colors.white, + fontSize: 16.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + ], + ), + ], + ), + ), + ), + Divider( + color: Color(0xFFD0D0D0), + ), + Padding( + padding: + EdgeInsets.only(right: 27, left: 27, bottom: 22), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + 27.verticalSpace, + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Region', + style: TextStyle( + color: Colors.white, + fontSize: 16.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + Text( + 'United States', + style: TextStyle( + color: Color(0xFFA8A8A8), + fontSize: 14.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ) + ], + ), + 32.verticalSpace, + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Currency', + style: TextStyle( + color: Colors.white, + fontSize: 16.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ), + Text( + '\$ (USD)', + style: TextStyle( + color: Color(0xFFA8A8A8), + fontSize: 14.sp, + fontFamily: 'Work Sans', + fontWeight: FontWeight.w400, + ), + ) + ], + ), + ], + ), + ), + ], + ), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/src/mobile_ui/root/root.dart b/lib/src/mobile_ui/root/root.dart index 397431c..8a1d793 100644 --- a/lib/src/mobile_ui/root/root.dart +++ b/lib/src/mobile_ui/root/root.dart @@ -459,11 +459,18 @@ class RootWidget extends StatelessWidget { context.push("/${MobileRoutes.pg70}"); }), + PageButtonWidget( + page: 71, + onPressed: () { + context.push("/${MobileRoutes.pg60}"); + }), + PageButtonWidget( page: 72, onPressed: () { context.push("/${MobileRoutes.pg72}"); }), + PageButtonWidget( page: 73, onPressed: () { @@ -554,21 +561,24 @@ class RootWidget extends StatelessWidget { onPressed: () { context.push("/${MobileRoutes.pg90}"); }), + PageButtonWidget( + page: 91, + onPressed: () { + context.push("/${MobileRoutes.pg91}"); + }), PageButtonWidget( page: 92, onPressed: () { context.push("/${MobileRoutes.pg92}"); - }), - - + PageButtonWidget( page: 94, onPressed: () { context.push("/${MobileRoutes.pg94}"); }), - + PageButtonWidget( page: 93, onPressed: () { @@ -580,48 +590,37 @@ class RootWidget extends StatelessWidget { onPressed: () { context.push("/${MobileRoutes.pg95}"); }), - - + PageButtonWidget( page: 96, onPressed: () { context.push("/${MobileRoutes.pg96}"); }), - - PageButtonWidget( + PageButtonWidget( page: 97, onPressed: () { context.push("/${MobileRoutes.pg97}"); }), - - + PageButtonWidget( page: 98, onPressed: () { context.push("/${MobileRoutes.pg98}"); }), - + PageButtonWidget( page: 99, onPressed: () { context.push("/${MobileRoutes.pg99}"); + }), - }), - - PageButtonWidget( page: 100, onPressed: () { context.push("/${MobileRoutes.pg100}"); - }), - - - - - _RangeHeader(text: "101 -150"), _RangeHeader(text: "151 -160"), diff --git a/lib/src/mobile_ui/routes/routes.dart b/lib/src/mobile_ui/routes/routes.dart index dcbbf71..7a963a8 100644 --- a/lib/src/mobile_ui/routes/routes.dart +++ b/lib/src/mobile_ui/routes/routes.dart @@ -97,6 +97,7 @@ class MobileRoutes { static const pg87 = 'pg87'; static const pg88 = 'pg88'; static const pg90 = 'pg90'; + static const pg91 = "pg91"; static const pg89 = 'pg89'; static const pg97 = "pg97"; static const pg93 = "pg93"; @@ -104,8 +105,6 @@ class MobileRoutes { static const pg96 = "pg96"; static const pg95 = "pg95"; static const pg94 = 'pg94'; - static const pg93 = "pg93"; - static const pg92 = "pg92"; static const pg99 = "pg99"; static const pg98 = "pg98"; static const pg100 = "pg100"; diff --git a/lib/src/navigation/new_routes.dart b/lib/src/navigation/new_routes.dart index cc8d335..88d528b 100644 --- a/lib/src/navigation/new_routes.dart +++ b/lib/src/navigation/new_routes.dart @@ -75,6 +75,7 @@ import 'package:flutter_ui_kit_obkm/src/mobile_ui/88/page_88.dart'; import 'package:flutter_ui_kit_obkm/src/mobile_ui/89/page_89.dart'; import 'package:flutter_ui_kit_obkm/src/mobile_ui/9/page9.dart'; import 'package:flutter_ui_kit_obkm/src/mobile_ui/90/page_90.dart'; +import 'package:flutter_ui_kit_obkm/src/mobile_ui/91/page_91.dart'; import 'package:flutter_ui_kit_obkm/src/mobile_ui/97/page_97.dart'; import 'package:flutter_ui_kit_obkm/src/mobile_ui/96/page_96.dart'; import 'package:flutter_ui_kit_obkm/src/mobile_ui/95/page_95.dart'; @@ -559,6 +560,10 @@ var newRoutesConfig = GoRouter( path: MobileRoutes.pg90, builder: (BuildContext context, GoRouterState state) => Page90(), ), + GoRoute( + path: MobileRoutes.pg91, + builder: (BuildContext context, GoRouterState state) => Page91(), + ), GoRoute( path: MobileRoutes.pg89, builder: (BuildContext context, GoRouterState state) => Page89(),