From 19693b5ae08bf4ef1da5ac644bb82387ce00cba5 Mon Sep 17 00:00:00 2001 From: lakshan Date: Sun, 20 Oct 2019 22:46:02 +0530 Subject: [PATCH 1/6] Events page completed --- ios/Flutter/flutter_export_environment.sh | 10 +-- lib/constants/test_data.dart | 20 +++++ lib/ui/pages/event.dart | 98 +++++++++++++++++------ lib/ui/pages/home.dart | 2 +- 4 files changed, 101 insertions(+), 29 deletions(-) diff --git a/ios/Flutter/flutter_export_environment.sh b/ios/Flutter/flutter_export_environment.sh index 760bfba..b997bdc 100755 --- a/ios/Flutter/flutter_export_environment.sh +++ b/ios/Flutter/flutter_export_environment.sh @@ -1,10 +1,10 @@ #!/bin/sh # This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=/Users/suvink/Documents/Installed Software/flutter" -export "FLUTTER_APPLICATION_PATH=/Users/suvink/Documents/Workspace/EF/everything-flutter" -export "FLUTTER_TARGET=/Users/suvink/Documents/Workspace/EF/everything-flutter/lib/main.dart" +export "FLUTTER_ROOT=C:\src\flutter\flutter" +export "FLUTTER_APPLICATION_PATH=C:\Users\ASUS\Documents\flutter\everything-flutter" +export "FLUTTER_TARGET=lib\main.dart" export "FLUTTER_BUILD_DIR=build" -export "SYMROOT=${SOURCE_ROOT}/../build/ios" -export "FLUTTER_FRAMEWORK_DIR=/Users/suvink/Documents/Installed Software/flutter/bin/cache/artifacts/engine/ios" +export "SYMROOT=${SOURCE_ROOT}/../build\ios" +export "FLUTTER_FRAMEWORK_DIR=C:\src\flutter\flutter\bin\cache\artifacts\engine\ios" export "FLUTTER_BUILD_NAME=1.0.0" export "FLUTTER_BUILD_NUMBER=1" diff --git a/lib/constants/test_data.dart b/lib/constants/test_data.dart index 2d35c70..82bc445 100644 --- a/lib/constants/test_data.dart +++ b/lib/constants/test_data.dart @@ -25,3 +25,23 @@ News newsItemThree = News( image: "https://cdn.iconicto.com/EverythingFlutter/media/News/ef3.jpg", source: Source(name: "Techcrunch"), ); + +//past news +News pastnewsItemone = News( + title: "Flutter Meetup", + time: DateTime.parse("2019-05-30T22:49:51.764000+05:30"), + link: + "www.example.com", + image: "https://maps.googleapis.com/maps/api/staticmap?markers=size:tiny|-15.78,-47.91|50.06,19.96|60.17,24.94|1.300,103.8|30.22,-97.75|52.26,21.02|39.69,-104.9|55.58,9.760|38.83,-77.34|53.43,14.53|33.45,-112.1|42.35,-83.06|51.11,17.03|41.89,-87.64|43.65,-79.38|42.69,23.31|48.16,17.13|-37.81,145.0|-27.46,153.0|18.53,73.84|4.630,-74.09|37.56,127.0|3.160,101.7|23.61,58.54|48.14,11.58|49.00,8.400|45.80,15.97|-6.860,109.1|38.96,-77.23|51.24,6.790|52.40,16.90|33.37,6.860|43.17,-77.60|44.44,26.10|58.97,5.710|43.74,-79.36|40.11,-82.91|46.86,-114.0|12.97,77.56|39.75,-105.0|26.47,80.33|-8.080,-34.92|49.84,24.03|51.44,5.470|51.52,-0.1000|-30.04,-51.22|48.36,10.89|26.92,75.80|-22.91,-47.08|42.36,-71.07|43.58,39.74|35.23,-80.84|53.15,8.210|40.04,-105.3|40.75,-73.99|31.22,29.95|-33.93,18.46|36.19,44.02|54.81,56.07|31.33,75.57|34.15,-118.5|14.08,-87.22|59.91,10.75|33.65,-117.8|-27.60,-48.54|50.12,8.680|48.86,2.340|43.62,1.450|-16.50,-68.15|40.78,43.83|-8.580,116.1|54.32,10.12|50.08,14.43|48.22,16.37|49.87,8.640|49.80,9.940|-34.93,138.6|55.71,13.20|38.72,-9.140|48.11,-1.680|53.23,6.570|27.96,-82.46|-34.61,-58.37|-19.92,-43.94|51.77,19.46|39.70,-105.1|36.72,-4.420|35.67,139.8|41.32,-81.55|33.88,35.50|24.65,46.77|6.250,-75.59|44.83,20.50|50.00,8.260|54.36,18.64|22.57,88.36|37.98,23.73|50.88,4.700|-33.87,151.2|49.28,-123.0|6.520,3.300|13.09,80.27|23.03,72.58|51.72,39.26|36.19,5.410|67.29,14.37|53.55,10.00|33.52,-111.9|-31.40,-64.19|41.40,2.170|-1.940,30.06|9.600,6.550|52.37,4.890|51.50,7.630|48.79,9.190|49.45,11.05|-36.85,174.8|59.33,18.07|40.05,-105.2|-31.96,115.8|-7.230,-35.88|53.33,-6.250|14.62,121.0|42.47,-83.40|33.72,73.06|47.51,19.08|47.38,8.540|52.21,0.1300|-12.07,-77.05|50.64,3.070|45.65,-73.50|45.45,-75.69|18.46,-66.11|-6.910,107.6|-23.53,-46.63|32.07,34.77|46.52,6.620|29.72,-95.22|19.43,-99.14|-33.46,-70.64|52.52,13.38|37.35,-122.0&size=600x300&style=feature:administrative%7Cvisibility:off&style=feature:landscape%7Ccolor:0xffffff&style=feature:landscape%7Celement:labels%7Cvisibility:off&style=feature:landscape.man_made%7Celement:geometry%7Ccolor:0xffffff&style=feature:poi%7Cvisibility:off&style=feature:road%7Cvisibility:off&style=feature:transit%7Cvisibility:off&style=feature:water%7Ccolor:0xabd7df&scale=2&zoom=1&key=AIzaSyDmnawK5g8z5vh2itc7Qou7STaVkxocOtU", + source: Source(name: "READ MORE"), +); + + +News pastnewsItemtwo = News( + title: "Introduction To Flutter", + time: DateTime.parse("2019-04-20T22:49:51.764000+05:30"), + link: + "www.example.com", + image: "https://i.ytimg.com/vi/zmBvPcEjetA/maxresdefault.jpg", + source: Source(name: "READ MORE"), +); diff --git a/lib/ui/pages/event.dart b/lib/ui/pages/event.dart index d8508ff..e615642 100644 --- a/lib/ui/pages/event.dart +++ b/lib/ui/pages/event.dart @@ -2,11 +2,15 @@ import 'package:everything_flutter/constants/strings.dart'; import 'package:everything_flutter/constants/text_styles.dart'; import 'package:everything_flutter/constants/theme_data.dart'; import 'package:everything_flutter/helpers/screen_util.dart'; +import 'package:everything_flutter/model/news.dart'; import 'package:everything_flutter/ui/widgets/menu_card.dart'; +import 'package:everything_flutter/ui/widgets/news_item.dart'; import 'package:flutter/material.dart'; import 'package:functional_widget_annotation/functional_widget_annotation.dart'; import 'package:intl/intl.dart'; import 'package:snaplist/snaplist.dart'; +import 'package:everything_flutter/constants/test_data.dart'; + class EventPage extends StatelessWidget { @override @@ -18,6 +22,8 @@ class EventPage extends StatelessWidget { } } + + @widget Widget _buildBody() => SafeArea( child: SingleChildScrollView( @@ -25,11 +31,49 @@ Widget _buildBody() => SafeArea( children: [ _eventsTitle, _buildMenuCards(), + _buildPastEventBar(), + _buildEvents(events) ], ), ), ); +@widget + Widget _buildPastEventBar() => Padding( + padding: ScreenUtil.getPaddingLTRB(4, 2, 4, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Past Events", + style: TextStyles.miniTitle, + ), + // GestureDetector( + // onTap : () { + // _scaffoldKey.currentState.openDrawer(); // CHANGE THIS LINE + // }, + // child: Icon( + // Icons.more_vert, + // size: ScreenUtil.getFullScreen(12), + // ), + // ), + ], + ), + ); + +List events = [pastnewsItemone, pastnewsItemtwo]; + + +@widget +Widget _buildEvents(List newsList) { + List _columnItems = []; + for (var news in newsList) { + _columnItems.add(NewsItem(news)); +// _columnItems.add(Divider()); + } + return Column(children: _columnItems); +} + @widget Container _buildMenuCards() => Container( height: ScreenUtil.getHeight(35), @@ -74,31 +118,39 @@ Container _buildMenuCards() => Container( ), ), SizedBox(height: ScreenUtil.getHeight(0.5)), - Align( - alignment: Alignment.bottomRight, - child: GestureDetector( - onTap: () => - Navigator.pushNamed(context, menuCardTitles[index]), - child: Container( - padding: ScreenUtil.getPaddingAll(8), - decoration: BoxDecoration( - borderRadius: - ScreenUtil.getBorderRadiusCircular(12), - color: AppColors.buttonColors[index], - boxShadow: [ - new BoxShadow( - color: AppColors.buttonColors[index], - blurRadius: 8.0, - ), - ], - ), - child: Icon( - Icons.arrow_forward_ios, - size: ScreenUtil.getTextSize(12), - color: Colors.white, + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + GestureDetector( + onTap: () => Navigator.pushNamed( + context, menuCardTitles[index]), + child: Container( + padding: ScreenUtil.getPaddingAll(8), + decoration: BoxDecoration( + borderRadius: + ScreenUtil.getBorderRadiusCircular(12), + color: AppColors.buttonColors[index], + boxShadow: [ + new BoxShadow( + color: AppColors.buttonColors[index], + blurRadius: 8.0, + ), + ], + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text("View",style: TextStyle(fontSize: ScreenUtil.getTextSize(11)),), + Icon( + Icons.arrow_forward_ios, + size: ScreenUtil.getTextSize(13), + color: Colors.white, + ), + ], + ), ), ), - ), + ], ), ], ), diff --git a/lib/ui/pages/home.dart b/lib/ui/pages/home.dart index 97bc760..167d8b8 100644 --- a/lib/ui/pages/home.dart +++ b/lib/ui/pages/home.dart @@ -78,7 +78,7 @@ class _HomePageState extends State { ); } -List news = [newsItem, newsItemTwo]; +List news = [newsItem, newsItemTwo,newsItemThree]; final _timelineTitle = Text( From 804cbc46b7df181c6a8d2957118aad3df4587a07 Mon Sep 17 00:00:00 2001 From: lakshan Date: Mon, 21 Oct 2019 16:58:19 +0530 Subject: [PATCH 2/6] Events page added --- lib/constants/test_data.dart | 17 ++++++++++++++--- lib/model/event.dart | 7 ++++++- lib/ui/pages/event.dart | 6 +++--- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/lib/constants/test_data.dart b/lib/constants/test_data.dart index 82bc445..9d925c5 100644 --- a/lib/constants/test_data.dart +++ b/lib/constants/test_data.dart @@ -26,8 +26,8 @@ News newsItemThree = News( source: Source(name: "Techcrunch"), ); -//past news -News pastnewsItemone = News( +//past events +News pasteventsItemone = News( title: "Flutter Meetup", time: DateTime.parse("2019-05-30T22:49:51.764000+05:30"), link: @@ -37,7 +37,7 @@ News pastnewsItemone = News( ); -News pastnewsItemtwo = News( +News pasteventItemtwo = News( title: "Introduction To Flutter", time: DateTime.parse("2019-04-20T22:49:51.764000+05:30"), link: @@ -45,3 +45,14 @@ News pastnewsItemtwo = News( image: "https://i.ytimg.com/vi/zmBvPcEjetA/maxresdefault.jpg", source: Source(name: "READ MORE"), ); + + +//widgets +News widget1 = News( + title: "Flutter Meetup", + time: DateTime.parse("2019-05-30T22:49:51.764000+05:30"), + link: + "www.example.com", + image: "https://maps.googleapis.com/maps/api/staticmap?markers=size:tiny|-15.78,-47.91|50.06,19.96|60.17,24.94|1.300,103.8|30.22,-97.75|52.26,21.02|39.69,-104.9|55.58,9.760|38.83,-77.34|53.43,14.53|33.45,-112.1|42.35,-83.06|51.11,17.03|41.89,-87.64|43.65,-79.38|42.69,23.31|48.16,17.13|-37.81,145.0|-27.46,153.0|18.53,73.84|4.630,-74.09|37.56,127.0|3.160,101.7|23.61,58.54|48.14,11.58|49.00,8.400|45.80,15.97|-6.860,109.1|38.96,-77.23|51.24,6.790|52.40,16.90|33.37,6.860|43.17,-77.60|44.44,26.10|58.97,5.710|43.74,-79.36|40.11,-82.91|46.86,-114.0|12.97,77.56|39.75,-105.0|26.47,80.33|-8.080,-34.92|49.84,24.03|51.44,5.470|51.52,-0.1000|-30.04,-51.22|48.36,10.89|26.92,75.80|-22.91,-47.08|42.36,-71.07|43.58,39.74|35.23,-80.84|53.15,8.210|40.04,-105.3|40.75,-73.99|31.22,29.95|-33.93,18.46|36.19,44.02|54.81,56.07|31.33,75.57|34.15,-118.5|14.08,-87.22|59.91,10.75|33.65,-117.8|-27.60,-48.54|50.12,8.680|48.86,2.340|43.62,1.450|-16.50,-68.15|40.78,43.83|-8.580,116.1|54.32,10.12|50.08,14.43|48.22,16.37|49.87,8.640|49.80,9.940|-34.93,138.6|55.71,13.20|38.72,-9.140|48.11,-1.680|53.23,6.570|27.96,-82.46|-34.61,-58.37|-19.92,-43.94|51.77,19.46|39.70,-105.1|36.72,-4.420|35.67,139.8|41.32,-81.55|33.88,35.50|24.65,46.77|6.250,-75.59|44.83,20.50|50.00,8.260|54.36,18.64|22.57,88.36|37.98,23.73|50.88,4.700|-33.87,151.2|49.28,-123.0|6.520,3.300|13.09,80.27|23.03,72.58|51.72,39.26|36.19,5.410|67.29,14.37|53.55,10.00|33.52,-111.9|-31.40,-64.19|41.40,2.170|-1.940,30.06|9.600,6.550|52.37,4.890|51.50,7.630|48.79,9.190|49.45,11.05|-36.85,174.8|59.33,18.07|40.05,-105.2|-31.96,115.8|-7.230,-35.88|53.33,-6.250|14.62,121.0|42.47,-83.40|33.72,73.06|47.51,19.08|47.38,8.540|52.21,0.1300|-12.07,-77.05|50.64,3.070|45.65,-73.50|45.45,-75.69|18.46,-66.11|-6.910,107.6|-23.53,-46.63|32.07,34.77|46.52,6.620|29.72,-95.22|19.43,-99.14|-33.46,-70.64|52.52,13.38|37.35,-122.0&size=600x300&style=feature:administrative%7Cvisibility:off&style=feature:landscape%7Ccolor:0xffffff&style=feature:landscape%7Celement:labels%7Cvisibility:off&style=feature:landscape.man_made%7Celement:geometry%7Ccolor:0xffffff&style=feature:poi%7Cvisibility:off&style=feature:road%7Cvisibility:off&style=feature:transit%7Cvisibility:off&style=feature:water%7Ccolor:0xabd7df&scale=2&zoom=1&key=AIzaSyDmnawK5g8z5vh2itc7Qou7STaVkxocOtU", + source: Source(name: "READ MORE"), +); diff --git a/lib/model/event.dart b/lib/model/event.dart index 61a42e7..b504968 100644 --- a/lib/model/event.dart +++ b/lib/model/event.dart @@ -1 +1,6 @@ -class Event {} +import 'dart:convert'; + + + +class Event { +} diff --git a/lib/ui/pages/event.dart b/lib/ui/pages/event.dart index e615642..d734a25 100644 --- a/lib/ui/pages/event.dart +++ b/lib/ui/pages/event.dart @@ -61,14 +61,14 @@ Widget _buildBody() => SafeArea( ), ); -List events = [pastnewsItemone, pastnewsItemtwo]; +List events = [pasteventItemtwo, pasteventItemtwo]; @widget Widget _buildEvents(List newsList) { List _columnItems = []; - for (var news in newsList) { - _columnItems.add(NewsItem(news)); + for (var event in newsList) { + _columnItems.add(NewsItem(event)); // _columnItems.add(Divider()); } return Column(children: _columnItems); From 3501576d5082bd3ff96d484c3cd9522ea20f3527 Mon Sep 17 00:00:00 2001 From: lakshan Date: Mon, 21 Oct 2019 21:24:13 +0530 Subject: [PATCH 3/6] Widgets page added --- lib/constants/strings.dart | 12 +++ lib/constants/test_data.dart | 15 ++- lib/ui/pages/widget.dart | 201 ++++++++++++++++++++++++++++++++++- 3 files changed, 223 insertions(+), 5 deletions(-) diff --git a/lib/constants/strings.dart b/lib/constants/strings.dart index 248bca7..eb8832b 100644 --- a/lib/constants/strings.dart +++ b/lib/constants/strings.dart @@ -25,4 +25,16 @@ List eventCardSubtitles = [ "First Flutter Meetup", "First Flutter Hackathon", "First Flutter Hackathon", +]; + +List widgetDays=[ + "WednesDay", + "TuesDay", + "Monday", +]; + +List widgetNames=[ + "Animated Builder", + "ClipRRect", + "Silver List", ]; \ No newline at end of file diff --git a/lib/constants/test_data.dart b/lib/constants/test_data.dart index 9d925c5..f9e4ae0 100644 --- a/lib/constants/test_data.dart +++ b/lib/constants/test_data.dart @@ -49,10 +49,19 @@ News pasteventItemtwo = News( //widgets News widget1 = News( - title: "Flutter Meetup", + title: "Scaffold", time: DateTime.parse("2019-05-30T22:49:51.764000+05:30"), link: - "www.example.com", - image: "https://maps.googleapis.com/maps/api/staticmap?markers=size:tiny|-15.78,-47.91|50.06,19.96|60.17,24.94|1.300,103.8|30.22,-97.75|52.26,21.02|39.69,-104.9|55.58,9.760|38.83,-77.34|53.43,14.53|33.45,-112.1|42.35,-83.06|51.11,17.03|41.89,-87.64|43.65,-79.38|42.69,23.31|48.16,17.13|-37.81,145.0|-27.46,153.0|18.53,73.84|4.630,-74.09|37.56,127.0|3.160,101.7|23.61,58.54|48.14,11.58|49.00,8.400|45.80,15.97|-6.860,109.1|38.96,-77.23|51.24,6.790|52.40,16.90|33.37,6.860|43.17,-77.60|44.44,26.10|58.97,5.710|43.74,-79.36|40.11,-82.91|46.86,-114.0|12.97,77.56|39.75,-105.0|26.47,80.33|-8.080,-34.92|49.84,24.03|51.44,5.470|51.52,-0.1000|-30.04,-51.22|48.36,10.89|26.92,75.80|-22.91,-47.08|42.36,-71.07|43.58,39.74|35.23,-80.84|53.15,8.210|40.04,-105.3|40.75,-73.99|31.22,29.95|-33.93,18.46|36.19,44.02|54.81,56.07|31.33,75.57|34.15,-118.5|14.08,-87.22|59.91,10.75|33.65,-117.8|-27.60,-48.54|50.12,8.680|48.86,2.340|43.62,1.450|-16.50,-68.15|40.78,43.83|-8.580,116.1|54.32,10.12|50.08,14.43|48.22,16.37|49.87,8.640|49.80,9.940|-34.93,138.6|55.71,13.20|38.72,-9.140|48.11,-1.680|53.23,6.570|27.96,-82.46|-34.61,-58.37|-19.92,-43.94|51.77,19.46|39.70,-105.1|36.72,-4.420|35.67,139.8|41.32,-81.55|33.88,35.50|24.65,46.77|6.250,-75.59|44.83,20.50|50.00,8.260|54.36,18.64|22.57,88.36|37.98,23.73|50.88,4.700|-33.87,151.2|49.28,-123.0|6.520,3.300|13.09,80.27|23.03,72.58|51.72,39.26|36.19,5.410|67.29,14.37|53.55,10.00|33.52,-111.9|-31.40,-64.19|41.40,2.170|-1.940,30.06|9.600,6.550|52.37,4.890|51.50,7.630|48.79,9.190|49.45,11.05|-36.85,174.8|59.33,18.07|40.05,-105.2|-31.96,115.8|-7.230,-35.88|53.33,-6.250|14.62,121.0|42.47,-83.40|33.72,73.06|47.51,19.08|47.38,8.540|52.21,0.1300|-12.07,-77.05|50.64,3.070|45.65,-73.50|45.45,-75.69|18.46,-66.11|-6.910,107.6|-23.53,-46.63|32.07,34.77|46.52,6.620|29.72,-95.22|19.43,-99.14|-33.46,-70.64|52.52,13.38|37.35,-122.0&size=600x300&style=feature:administrative%7Cvisibility:off&style=feature:landscape%7Ccolor:0xffffff&style=feature:landscape%7Celement:labels%7Cvisibility:off&style=feature:landscape.man_made%7Celement:geometry%7Ccolor:0xffffff&style=feature:poi%7Cvisibility:off&style=feature:road%7Cvisibility:off&style=feature:transit%7Cvisibility:off&style=feature:water%7Ccolor:0xabd7df&scale=2&zoom=1&key=AIzaSyDmnawK5g8z5vh2itc7Qou7STaVkxocOtU", + "https://api.flutter.dev/flutter/material/Scaffold-class.html", + image: "https://i.ytimg.com/vi/vb8YDD7KO00/maxresdefault.jpg", + source: Source(name: "READ MORE"), +); + +News widget2 = News( + title: "Transform", + time: DateTime.parse("2019-05-30T22:49:51.764000+05:30"), + link: + "https://api.flutter.dev/flutter/widgets/Transform-class.html", + image: "https://i.ytimg.com/vi/9z_YNlRlWfA/maxresdefault.jpg", source: Source(name: "READ MORE"), ); diff --git a/lib/ui/pages/widget.dart b/lib/ui/pages/widget.dart index 452a65f..667c744 100644 --- a/lib/ui/pages/widget.dart +++ b/lib/ui/pages/widget.dart @@ -1,20 +1,217 @@ +import 'package:everything_flutter/constants/strings.dart'; +import 'package:everything_flutter/constants/test_data.dart'; import 'package:everything_flutter/constants/theme_data.dart'; +import 'package:everything_flutter/helpers/screen_util.dart'; +import 'package:everything_flutter/model/news.dart'; +import 'package:everything_flutter/ui/widgets/menu_card.dart'; +import 'package:everything_flutter/ui/widgets/news_item.dart'; import 'package:flutter/material.dart'; import 'package:functional_widget_annotation/functional_widget_annotation.dart'; import 'package:intl/intl.dart'; +import 'package:snaplist/snaplist_view.dart'; class WidgetPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: myAppBar(context), - body: SingleChildScrollView( + body: _buildBody(), + ); + } + + +@widget +Widget _buildBody() => SafeArea( + child: SingleChildScrollView( child: Column( - children: [], + children: [ + _widgetsTitle, + _buildMenuCards(), + _buildWidgetBar(), + _buildWidgets(widgets) + ], ), ), ); + + +final _widgetsTitle = Text( + "Widgets Of The Week", + style: TextStyles.title, +); + + + +@widget + Widget _buildWidgetBar() => Padding( + padding: ScreenUtil.getPaddingLTRB(4, 2, 4, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Previous Widgets", + style: TextStyles.miniTitle, + ), + // GestureDetector( + // onTap : () { + // _scaffoldKey.currentState.openDrawer(); // CHANGE THIS LINE + // }, + // child: Icon( + // Icons.more_vert, + // size: ScreenUtil.getFullScreen(12), + // ), + // ), + ], + ), + ); + +List widgets = [widget1, widget2]; + + +@widget +Widget _buildWidgets(List newsList) { + List _columnItems = []; + for (var widget in newsList) { + _columnItems.add(NewsItem(widget)); +// _columnItems.add(Divider()); } + return Column(children: _columnItems); +} + +@widget +Container _buildMenuCards() => Container( + height: ScreenUtil.getHeight(35), + width: double.infinity, + child: SnapList( + builder: (context, index, data) => MenuCard( + height: ScreenUtil.getHeight(40), + width: ScreenUtil.getWidth(65), + margin: ScreenUtil.getPaddingLTRB(2, 1, 0, 0), + borderRadius: ScreenUtil.getBorderRadiusCircular(12), + imageAsset: imageAssets[index], + color: AppColors.pastelColors[index], + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Align( + alignment: Alignment.topCenter, + child: Padding( + padding: ScreenUtil.getPaddingAll(11), + child: Container( + padding: ScreenUtil.getPaddingAll(10), + decoration: BoxDecoration( + borderRadius: ScreenUtil.getBorderRadiusCircular(12), + color: Colors.white70, + ), + child: Container( + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Center( + child: Text( + "#WidgetOfTheDay", + style: TextStyle( + fontSize: ScreenUtil.getTextSize(12), + fontWeight: FontWeight.w800, + color: AppColors.titleColors[index], + ), + ), + ), + Center( + child: Text( + widgetDays[index], + style: TextStyle( + fontSize: ScreenUtil.getTextSize(13), + fontWeight: FontWeight.bold, + color: Colors.grey, + ), + ), + ), + + ], + ), + ), + ), + ), + ), + // SizedBox(height: ScreenUtil.getHeight(4)), + Padding( + padding: ScreenUtil.getPaddingAll(11), + child: Container( + padding: ScreenUtil.getPaddingAll(10), + decoration: BoxDecoration( + borderRadius: ScreenUtil.getBorderRadiusCircular(12), + color: Colors.white70, + ), + child: Container( + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + widgetNames[index], + style: TextStyle( + fontSize: ScreenUtil.getTextSize(13), + fontWeight: FontWeight.w800, + color: AppColors.titleColors[index], + ), + ), + + SizedBox(height: ScreenUtil.getHeight(0.5)), + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + GestureDetector( + onTap: () => Navigator.pushNamed( + context, menuCardTitles[index]), + child: Container( + padding: ScreenUtil.getPaddingAll(8), + decoration: BoxDecoration( + borderRadius: + ScreenUtil.getBorderRadiusCircular(8), + color: AppColors.buttonColors[index], + boxShadow: [ + new BoxShadow( + color: AppColors.buttonColors[index], + blurRadius: 8.0, + ), + ], + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text("View",style: TextStyle(fontSize: ScreenUtil.getTextSize(11)),), + Icon( + Icons.arrow_forward_ios, + size: ScreenUtil.getTextSize(13), + color: Colors.white, + ), + ], + ), + ), + ), + ], + ), + ], + ), + ), + ), + ), + ], + ), + ), + count: 3, + sizeProvider: (index, data) => + Size(ScreenUtil.getWidth(65), ScreenUtil.getHeight(35)), + separatorProvider: (index, data) => + Size(ScreenUtil.getWidth(1), ScreenUtil.getHeight(5)), + ), + ); +/////////////////////////////////////// + @widget AppBar myAppBar(BuildContext context) => AppBar( From 7039c39f74db3497a9e0c38a7502381283576503 Mon Sep 17 00:00:00 2001 From: lakshan Date: Mon, 21 Oct 2019 22:26:22 +0530 Subject: [PATCH 4/6] Tutorials page added --- lib/constants/test_data.dart | 38 ++++++++++++++++++ lib/ui/pages/pages.dart | 2 +- lib/ui/pages/tutorial.dart | 75 +++++++++++++++++++++++++++++++++++- 3 files changed, 113 insertions(+), 2 deletions(-) diff --git a/lib/constants/test_data.dart b/lib/constants/test_data.dart index f9e4ae0..54b52a0 100644 --- a/lib/constants/test_data.dart +++ b/lib/constants/test_data.dart @@ -65,3 +65,41 @@ News widget2 = News( image: "https://i.ytimg.com/vi/9z_YNlRlWfA/maxresdefault.jpg", source: Source(name: "READ MORE"), ); + + + +News tute1 = News( + title: "How to connect your Flutter Application to Firebase", + time: DateTime.parse("2019-05-30T22:49:51.764000+05:30"), + link: + "https://api.flutter.dev/flutter/material/Scaffold-class.html", + image: "https://i.ytimg.com/vi/vb8YDD7KO00/maxresdefault.jpg", + source: Source(name: "MEDIUM"), +); + +News tute2 = News( + title: "How to use the BLoC Architecture in your Flutter App", + time: DateTime.parse("2019-05-30T22:49:51.764000+05:30"), + link: + "https://api.flutter.dev/flutter/widgets/Transform-class.html", + image: "https://i.ytimg.com/vi/9z_YNlRlWfA/maxresdefault.jpg", + source: Source(name: "YOUTUBE"), +); + +News tute3 = News( + title: "How to use GraphQL in your Flutter App", + time: DateTime.parse("2019-07-30T22:49:51.764000+05:30"), + link: + "https://api.flutter.dev/flutter/widgets/Transform-class.html", + image: "https://i.ytimg.com/vi/9z_YNlRlWfA/maxresdefault.jpg", + source: Source(name: "HACKERNOON"), +); + +News tute4 = News( + title: "How to add Animations to your Flutter App", + time: DateTime.parse("2019-05-30T22:49:51.764000+05:30"), + link: + "https://api.flutter.dev/flutter/widgets/Transform-class.html", + image: "https://i.ytimg.com/vi/9z_YNlRlWfA/maxresdefault.jpg", + source: Source(name: "FILLEDSTACKS"), +); diff --git a/lib/ui/pages/pages.dart b/lib/ui/pages/pages.dart index 1fc23de..2ce3ec2 100644 --- a/lib/ui/pages/pages.dart +++ b/lib/ui/pages/pages.dart @@ -1,4 +1,4 @@ export 'home.dart'; export 'news.dart'; -export 'tutorial.dart'; export 'widget.dart'; +export 'tutorial.dart'; \ No newline at end of file diff --git a/lib/ui/pages/tutorial.dart b/lib/ui/pages/tutorial.dart index eba8203..c0e985d 100644 --- a/lib/ui/pages/tutorial.dart +++ b/lib/ui/pages/tutorial.dart @@ -1,4 +1,11 @@ +import 'package:everything_flutter/constants/text_styles.dart'; +import 'package:everything_flutter/model/news.dart'; +import 'package:everything_flutter/ui/widgets/news_item.dart'; import 'package:flutter/material.dart'; +import 'package:functional_widget_annotation/functional_widget_annotation.dart'; +import 'package:intl/intl.dart'; +import 'package:everything_flutter/constants/test_data.dart'; + class TutorialPage extends StatefulWidget { @override @@ -6,8 +13,74 @@ class TutorialPage extends StatefulWidget { } class _TutorialPageState extends State { + + + + + @override Widget build(BuildContext context) { - return Container(); + return Scaffold( + + appBar: _buildAppBar(), + body: _buildBody(), + + ); } + + @widget +AppBar _buildAppBar() => AppBar( + title: _appBarTitle, + iconTheme: IconThemeData(color: Colors.black), + elevation: 0, + brightness: Brightness.light, + // or use Brightness.dark + backgroundColor: Colors.grey[50], + ); + + + @widget + Widget _buildBody() => SafeArea( + child: SingleChildScrollView( + child: Column( + children: [ + _tutorialsTitle, + _buildTutes(tutes) + // _buildEvents(events) + ], + ), + ), + ); + + + } + + +List tutes = [tute1,tute2,tute3,tute4]; + + +final _tutorialsTitle = Text( + "Tutorials", + style: TextStyles.title, + ); + + +@widget +Widget _buildTutes(List newsList) { + List _columnItems = []; + for (var news in newsList) { + _columnItems.add(NewsItem(news)); +// _columnItems.add(Divider()); + } + return Column(children: _columnItems); +} + +final _appBarTitle = Align( + alignment: Alignment.centerRight, + child: Text( + "${DateFormat("MMM d, yyyy").format(DateTime.now())}", + style: TextStyles.subtitle, + ), +); + From 2af6eba52e24303c2f6432422494309a1778d5d8 Mon Sep 17 00:00:00 2001 From: lakshan Date: Tue, 22 Oct 2019 14:32:36 +0530 Subject: [PATCH 5/6] App drawer designed --- assets/images/ic_launcher.png | Bin 0 -> 442 bytes lib/ui/pages/home.dart | 149 +++++++++++++++++++++++----------- pubspec.yaml | 1 + 3 files changed, 103 insertions(+), 47 deletions(-) create mode 100644 assets/images/ic_launcher.png diff --git a/assets/images/ic_launcher.png b/assets/images/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@U { - final GlobalKey _scaffoldKey = new GlobalKey(); // ADD THIS LINE - + final GlobalKey _scaffoldKey = + new GlobalKey(); // ADD THIS LINE + @override void initState() { // model.dispose(FetchNewsData()); @@ -28,64 +29,60 @@ class _HomePageState extends State { @override Widget build(BuildContext context) { - ScreenUtil()..init(context); return Scaffold( key: _scaffoldKey, appBar: _buildAppBar(), body: _buildBody(), - drawer: _buildDrawer(), + drawer: _buildDrawer(context), ); } - @widget Widget _buildBody() => SafeArea( - child: SingleChildScrollView( - child: Column( - children: [ - _timelineTitle, - _buildMenuCards(), - _buildNewsFeedBar(), - _buildNewsStand(news) - ], + child: SingleChildScrollView( + child: Column( + children: [ + _timelineTitle, + _buildMenuCards(), + _buildNewsFeedBar(), + _buildNewsStand(news) + ], + ), ), - ), - ); - + ); + @widget Widget _buildNewsFeedBar() => Padding( - padding: ScreenUtil.getPaddingLTRB(4, 2, 4, 0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - "Your News Feed", - style: TextStyles.miniTitle, - ), - GestureDetector( - onTap : () { - _scaffoldKey.currentState.openDrawer(); // CHANGE THIS LINE - }, - child: Icon( - Icons.more_vert, - size: ScreenUtil.getFullScreen(12), + padding: ScreenUtil.getPaddingLTRB(4, 2, 4, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Your News Feed", + style: TextStyles.miniTitle, ), - ), - ], - ), - ); + GestureDetector( + onTap: () { + _scaffoldKey.currentState.openDrawer(); // CHANGE THIS LINE + }, + child: Icon( + Icons.more_vert, + size: ScreenUtil.getFullScreen(12), + ), + ), + ], + ), + ); } -List news = [newsItem, newsItemTwo,newsItemThree]; - +List news = [newsItem, newsItemTwo, newsItemThree]; final _timelineTitle = Text( "Your Timeline", style: TextStyles.title, - ); - +); @widget Container _buildMenuCards() => Container( @@ -152,27 +149,85 @@ Container _buildMenuCards() => Container( ); @widget -Drawer _buildDrawer() => Drawer( +Drawer _buildDrawer( BuildContext context) => Drawer( child: ListView( children: [ DrawerHeader( - child: Text('Custom Header'), + child: Center( + child: + + Row( + children: [ + Image.asset("assets/images/ic_launcher.png"), + SizedBox(width: ScreenUtil.getWidth(0.6),), + Text( + 'Everything Flutter', + style: TextStyle(color: Colors.white, + fontSize: ScreenUtil.getTextSize(14)), + + ), + ], + ), + + ), decoration: BoxDecoration( - color: Colors.blue, + // color: Colors.deepPurple, + gradient: LinearGradient( + begin: Alignment.topRight, + end: Alignment.bottomLeft, + colors: [Colors.blue, Colors.red]) ), ), + ListTile( + leading: Icon(Icons.tune), + title: Text('Timeline'), + ), + ListTile( - leading: Icon(Icons.photo), - title: Text('First layout'), + leading: Icon(Icons.event), + title: Text('Events'), + onTap: () => + Navigator.pushNamed(context, menuCardTitles[0]) ), ListTile( + leading: Icon(Icons.widgets), + title: Text('Widgets'), + onTap: () => + Navigator.pushNamed(context, menuCardTitles[1]) + ), + ListTile( + leading: Icon(Icons.group), + title: Text('Communities'), + onTap: () => + Navigator.pushNamed(context, menuCardTitles[2]) + ), + ListTile( + leading: Icon(Icons.assignment), + title: Text('Tutorials'), + onTap: () => + Navigator.pushNamed(context, menuCardTitles[3]) + ), + ListTile( + leading: Icon(Icons.settings), + title: Text('Settings'), + // onTap: () => Navigator.pushNamed(context, menuCardTitles[3]) + ), + + new Divider(), + ListTile( title: Text('Communicate'), //without leading =) ), + + ListTile( - leading: Icon(Icons.share), - title: Text('Share layout'), - ) + leading: Icon(Icons.contacts), + title: Text('Contact Us'), + ), + ListTile( + leading: Icon(Icons.power_settings_new), + title: Text('Sign Out'), + ), ], ), ); diff --git a/pubspec.yaml b/pubspec.yaml index e0a6324..23ead3a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -64,6 +64,7 @@ flutter: - assets/images/dashboard_hero.jpg - assets/images/dashboard_widgets.jpg - assets/images/flutter_5.jpg + - assets/images/ic_launcher.png # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware. From 25bd5822765f8d42de9819a48e1ed6cacc6a050d Mon Sep 17 00:00:00 2001 From: lakshan Date: Tue, 22 Oct 2019 22:45:18 +0530 Subject: [PATCH 6/6] Communities Page Added --- lib/constants/route_paths.dart | 2 + lib/constants/test_data.dart | 21 ++++++++ lib/router.dart | 10 +++- lib/ui/pages/communities.dart | 86 +++++++++++++++++++++++++++++++ lib/ui/pages/community.dart | 65 +++++++++++++++++++++++ lib/ui/pages/home.dart | 2 +- lib/ui/pages/pages.dart | 4 +- lib/ui/widgets/communty_item.dart | 75 +++++++++++++++++++++++++++ 8 files changed, 262 insertions(+), 3 deletions(-) create mode 100644 lib/ui/pages/communities.dart create mode 100644 lib/ui/pages/community.dart create mode 100644 lib/ui/widgets/communty_item.dart diff --git a/lib/constants/route_paths.dart b/lib/constants/route_paths.dart index 2178d0f..0a815de 100644 --- a/lib/constants/route_paths.dart +++ b/lib/constants/route_paths.dart @@ -1,6 +1,8 @@ const String HomePageRoute = 'Home'; const String EventsPageRoute = 'Events'; const String NewsPageRoute = 'News'; +const String CommunityPageRoute = 'Communities'; +const String CommPageRoute = 'Community'; const String WidgetsPageRoute = 'Widgets'; const String TutorialsPageRoute = 'Tutorials'; const String GroupsPageRoute = 'Groups'; diff --git a/lib/constants/test_data.dart b/lib/constants/test_data.dart index 54b52a0..ceae887 100644 --- a/lib/constants/test_data.dart +++ b/lib/constants/test_data.dart @@ -103,3 +103,24 @@ News tute4 = News( image: "https://i.ytimg.com/vi/9z_YNlRlWfA/maxresdefault.jpg", source: Source(name: "FILLEDSTACKS"), ); + + +//COmmunities +News comm1 = News( + title: """Colombo +Community""", + image: "https://techwire.lk/wp-content/uploads/2019/05/flutter-356x267.png", +); + +News comm2 = News( + title: """Chicago +Community""", + image: "https://secure.meetupstatic.com/photos/event/1/8/8/0/600_475026272.jpeg", +); + +News comm3 = News( + title: """New York +Community""", + image: "https://miro.medium.com/max/800/1*-8v7Rg-iNPa53SLA2PICXA.png", +); + diff --git a/lib/router.dart b/lib/router.dart index d533fdc..9298bfb 100644 --- a/lib/router.dart +++ b/lib/router.dart @@ -18,7 +18,7 @@ Route generateRoute(RouteSettings settings) { case routes.NewsPageRoute: return MaterialPageRoute( builder: (context) => NewsPage(), - ); + ); case routes.TutorialsPageRoute: return MaterialPageRoute( builder: (context) => TutorialPage(), @@ -27,6 +27,14 @@ Route generateRoute(RouteSettings settings) { return MaterialPageRoute( builder: (context) => WidgetPage(), ); + case routes.CommunityPageRoute: + return MaterialPageRoute( + builder: (context) => CommunityPage(), + ); + case routes.CommPageRoute: + return MaterialPageRoute( + builder: (context) => CommPage(), + ); default: return MaterialPageRoute( builder: (context) => Scaffold( diff --git a/lib/ui/pages/communities.dart b/lib/ui/pages/communities.dart new file mode 100644 index 0000000..fcc90e3 --- /dev/null +++ b/lib/ui/pages/communities.dart @@ -0,0 +1,86 @@ +import 'package:everything_flutter/constants/text_styles.dart'; +import 'package:everything_flutter/model/news.dart'; +import 'package:everything_flutter/ui/widgets/communty_item.dart'; +import 'package:flutter/material.dart'; +import 'package:functional_widget_annotation/functional_widget_annotation.dart'; +import 'package:intl/intl.dart'; +import 'package:everything_flutter/constants/test_data.dart'; + + +class CommunityPage extends StatefulWidget { + @override + _CommunityPageState createState() => _CommunityPageState(); +} + +class _CommunityPageState extends State { + + + + + + @override + Widget build(BuildContext context) { + return Scaffold( + + appBar: _buildAppBar(), + body: _buildBody(), + + ); + } + + @widget +AppBar _buildAppBar() => AppBar( + title: _appBarTitle, + iconTheme: IconThemeData(color: Colors.black), + elevation: 0, + brightness: Brightness.light, + // or use Brightness.dark + backgroundColor: Colors.grey[50], + ); + + + @widget + Widget _buildBody() => SafeArea( + child: SingleChildScrollView( + child: Column( + children: [ + _tutorialsTitle, + _buildTutes(comm) + // _buildEvents(events) + ], + ), + ), + ); + + + +} + + +List comm = [comm1,comm2,comm3]; + + +final _tutorialsTitle = Text( + "Communities", + style: TextStyles.title, + ); + + +@widget +Widget _buildTutes(List newsList) { + List _columnItems = []; + for (var news in newsList) { + _columnItems.add(CommItem(news)); +// _columnItems.add(Divider()); + } + return Column(children: _columnItems); +} + +final _appBarTitle = Align( + alignment: Alignment.centerRight, + child: Text( + "${DateFormat("MMM d, yyyy").format(DateTime.now())}", + style: TextStyles.subtitle, + ), +); + diff --git a/lib/ui/pages/community.dart b/lib/ui/pages/community.dart new file mode 100644 index 0000000..35b263b --- /dev/null +++ b/lib/ui/pages/community.dart @@ -0,0 +1,65 @@ +import 'package:everything_flutter/constants/text_styles.dart'; +import 'package:flutter/material.dart'; +import 'package:functional_widget_annotation/functional_widget_annotation.dart'; +import 'package:intl/intl.dart'; +import 'package:everything_flutter/constants/test_data.dart'; + + +class CommPage extends StatefulWidget { + @override + _CommPageState createState() => _CommPageState(); +} + +class _CommPageState extends State { + + + + + + @override + Widget build(BuildContext context) { + return Scaffold( + + appBar: _buildAppBar(), + body: _buildBody(), + + ); + } + + @widget +AppBar _buildAppBar() => AppBar( + title: _appBarTitle, + iconTheme: IconThemeData(color: Colors.black), + elevation: 0, + brightness: Brightness.light, + // or use Brightness.dark + backgroundColor: Colors.grey[50], + ); + + + @widget + Widget _buildBody() => SafeArea( + child: SingleChildScrollView( + child: Column( + children: [ + + // _buildEvents(events) + ], + ), + ), + ); + + + +} + + + +final _appBarTitle = Align( + alignment: Alignment.centerRight, + child: Text( + "${DateFormat("MMM d, yyyy").format(DateTime.now())}", + style: TextStyles.subtitle, + ), +); + diff --git a/lib/ui/pages/home.dart b/lib/ui/pages/home.dart index d6ee005..553ffdf 100644 --- a/lib/ui/pages/home.dart +++ b/lib/ui/pages/home.dart @@ -27,7 +27,7 @@ class _HomePageState extends State { super.initState(); } - @override + @override Widget build(BuildContext context) { ScreenUtil()..init(context); diff --git a/lib/ui/pages/pages.dart b/lib/ui/pages/pages.dart index 2ce3ec2..03ba655 100644 --- a/lib/ui/pages/pages.dart +++ b/lib/ui/pages/pages.dart @@ -1,4 +1,6 @@ export 'home.dart'; export 'news.dart'; export 'widget.dart'; -export 'tutorial.dart'; \ No newline at end of file +export 'tutorial.dart'; +export 'community.dart'; +export 'communities.dart'; \ No newline at end of file diff --git a/lib/ui/widgets/communty_item.dart b/lib/ui/widgets/communty_item.dart new file mode 100644 index 0000000..57315e6 --- /dev/null +++ b/lib/ui/widgets/communty_item.dart @@ -0,0 +1,75 @@ +import 'package:everything_flutter/constants/text_styles.dart'; +import 'package:everything_flutter/helpers/screen_util.dart'; +import 'package:everything_flutter/helpers/utils.dart'; +import 'package:everything_flutter/model/news.dart'; +import 'package:flutter/material.dart'; +import 'package:timeago/timeago.dart' as timeago; + +class CommItem extends StatelessWidget { + final News _comms; + + CommItem(this._comms); + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () { + Navigator.pushNamed(context, "Community"); + }, + child: Padding( + padding: ScreenUtil.getPaddingAll(8.0), + child: Container( + child: Row( + children: [ + Padding( + padding: ScreenUtil.getPaddingAll(5), + child: ClipRRect( + borderRadius: ScreenUtil.getBorderRadiusCircular(10.0), + child: Image.network( + _comms.image, + height: ScreenUtil.getHeight(13), + width: ScreenUtil.getWidth(25), + fit: BoxFit.cover, + ), + ), + ), + Expanded( + child: Container( + height: ScreenUtil.getHeight(14), + child: Column( + mainAxisSize: MainAxisSize.max, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Text(_comms.title, + softWrap: true, + maxLines: 3, + overflow: TextOverflow.ellipsis, + style: TextStyle(fontSize: ScreenUtil.getTextSize(13))), + ), + Padding( + padding: const EdgeInsets.all(10.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "VIEW MORE", + style: TextStyles.blueSubtitle, + ), + + ], + ), + ), + ], + ), + ), + ), + ], + ), + ), + ), + ); + } +}