From f4cc1158e9e7bd34b8a56d1363226b9a8545929b Mon Sep 17 00:00:00 2001 From: Amrit Prakash Date: Fri, 17 Mar 2023 13:57:08 +0530 Subject: [PATCH 1/2] Feature Social Page --- android/app/build.gradle | 2 +- lib/src/pages/drawer/social.dart | 46 ++++++++++++++++++++++++++++++++ lib/src/pages/home/home.dart | 5 +++- lib/src/routes/routing.dart | 21 +++++++++++++++ pubspec.yaml | 1 + 5 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 lib/src/pages/drawer/social.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index 67fde91064..46651b3b14 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -36,7 +36,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.apps.blt" - minSdkVersion 18 + minSdkVersion 19 targetSdkVersion 30 versionCode flutterVersionCode.toInteger() versionName flutterVersionName diff --git a/lib/src/pages/drawer/social.dart b/lib/src/pages/drawer/social.dart new file mode 100644 index 0000000000..dc70c67708 --- /dev/null +++ b/lib/src/pages/drawer/social.dart @@ -0,0 +1,46 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_inappwebview/flutter_inappwebview.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +class SocialPage extends ConsumerStatefulWidget{ + const SocialPage({Key? key}) : super(key: key); + + @override + _SocialPageState createState() => _SocialPageState(); +} + +class _SocialPageState extends ConsumerState { +late InAppWebViewController webViewController; +late PullToRefreshController refreshController; + + + @override + Widget build(BuildContext context){ + return Scaffold( + appBar: AppBar( + leading: IconButton( + icon: Icon( + Icons.arrow_back_ios_new_rounded, + ), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + title: Text("Social"), + backgroundColor: Color(0xFFDC4654), + ), + body: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded(child: InAppWebView( + initialUrlRequest: URLRequest(url: Uri.parse("https://twitter.com/Bugheist")), + shouldOverrideUrlLoading: (controller, navigationAction) async{ + return NavigationActionPolicy.CANCEL; + }, + )), + ], + ) + ); + + } +} \ No newline at end of file diff --git a/lib/src/pages/home/home.dart b/lib/src/pages/home/home.dart index cd2635b238..73b3fc476e 100644 --- a/lib/src/pages/home/home.dart +++ b/lib/src/pages/home/home.dart @@ -245,7 +245,10 @@ class _HomeState extends ConsumerState { // Update the state of the app // ... // Then close the drawer - Navigator.pop(context); + Navigator.pushNamed( + context, + RouteManager.socialPage + ); }, ), ListTile( diff --git a/lib/src/routes/routing.dart b/lib/src/routes/routing.dart index 24167a886c..9a6f1e8e5b 100644 --- a/lib/src/routes/routing.dart +++ b/lib/src/routes/routing.dart @@ -18,6 +18,7 @@ import '../pages/leaderboards/company_scoreboard.dart'; import '../pages/leaderboards/global_leaderboard.dart'; import '../pages/issues/issue_detail.dart'; import '../pages/leaderboards/monthly_leaderboard.dart'; +import '../pages/drawer/social.dart'; /// The managing class for App Navigation, also adds custom page transitions. class RouteManager { @@ -27,6 +28,7 @@ class RouteManager { static const String signupPage = "/signup"; static const String forgotPage = "/forgot"; static const String homePage = "/home"; + static const String socialPage = "/social"; static String currentRoute = "/loginSignup"; static const String legalPage = "/legal"; static const String aboutPage = "/about"; @@ -162,6 +164,25 @@ class RouteManager { }, transitionDuration: const Duration(milliseconds: 500), ); + case socialPage: + return PageRouteBuilder( + pageBuilder: (context, animation, secondaryAnimation) => + const SocialPage(), + transitionsBuilder: (context, animation, secondaryAnimation, child) { + const begin = Offset(1.0, 0); + const end = Offset.zero; + const curve = Curves.ease; + + var tween = + Tween(begin: begin, end: end).chain(CurveTween(curve: curve)); + + return SlideTransition( + position: animation.drive(tween), + child: child, + ); + }, + transitionDuration: const Duration(milliseconds: 500), + ); case companyDashboardPage: return PageRouteBuilder( pageBuilder: (context, animation, secondaryAnimation) => diff --git a/pubspec.yaml b/pubspec.yaml index 94d9547485..8273893e72 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -23,6 +23,7 @@ dependencies: pasteboard: ^0.2.0 path_provider: ^2.0.13 url_launcher: ^6.1.10 + flutter_inappwebview: ^5.7.2+3 #flutter_lints: ^1.0.4 dev_dependencies: From b4dd5382386b659e14f81f5ce3a88ef71b8ae346 Mon Sep 17 00:00:00 2001 From: Fred Falcon <7475382+fredfalcon@users.noreply.github.com> Date: Fri, 17 Mar 2023 04:42:08 -0400 Subject: [PATCH 2/2] Update lib/src/pages/drawer/social.dart --- lib/src/pages/drawer/social.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/pages/drawer/social.dart b/lib/src/pages/drawer/social.dart index dc70c67708..723705cb72 100644 --- a/lib/src/pages/drawer/social.dart +++ b/lib/src/pages/drawer/social.dart @@ -33,7 +33,7 @@ late PullToRefreshController refreshController; crossAxisAlignment: CrossAxisAlignment.center, children: [ Expanded(child: InAppWebView( - initialUrlRequest: URLRequest(url: Uri.parse("https://twitter.com/Bugheist")), + initialUrlRequest: URLRequest(url: Uri.parse("https://twitter.com/OWASP")), shouldOverrideUrlLoading: (controller, navigationAction) async{ return NavigationActionPolicy.CANCEL; },