diff --git a/android/.gradle/5.6.2/executionHistory/executionHistory.bin b/android/.gradle/5.6.2/executionHistory/executionHistory.bin index 611ba71..4abb9fb 100644 Binary files a/android/.gradle/5.6.2/executionHistory/executionHistory.bin and b/android/.gradle/5.6.2/executionHistory/executionHistory.bin differ diff --git a/android/.gradle/5.6.2/executionHistory/executionHistory.lock b/android/.gradle/5.6.2/executionHistory/executionHistory.lock index 7a0e4f7..03a7fcc 100644 Binary files a/android/.gradle/5.6.2/executionHistory/executionHistory.lock and b/android/.gradle/5.6.2/executionHistory/executionHistory.lock differ diff --git a/android/.gradle/5.6.2/fileHashes/fileHashes.bin b/android/.gradle/5.6.2/fileHashes/fileHashes.bin index fe00942..b346308 100644 Binary files a/android/.gradle/5.6.2/fileHashes/fileHashes.bin and b/android/.gradle/5.6.2/fileHashes/fileHashes.bin differ diff --git a/android/.gradle/5.6.2/fileHashes/fileHashes.lock b/android/.gradle/5.6.2/fileHashes/fileHashes.lock index aa855e4..f573ddc 100644 Binary files a/android/.gradle/5.6.2/fileHashes/fileHashes.lock and b/android/.gradle/5.6.2/fileHashes/fileHashes.lock differ diff --git a/android/.gradle/5.6.2/fileHashes/resourceHashesCache.bin b/android/.gradle/5.6.2/fileHashes/resourceHashesCache.bin index 3719458..5ccbe2e 100644 Binary files a/android/.gradle/5.6.2/fileHashes/resourceHashesCache.bin and b/android/.gradle/5.6.2/fileHashes/resourceHashesCache.bin differ diff --git a/android/.gradle/5.6.2/javaCompile/classAnalysis.bin b/android/.gradle/5.6.2/javaCompile/classAnalysis.bin index dc455c3..d55978d 100644 Binary files a/android/.gradle/5.6.2/javaCompile/classAnalysis.bin and b/android/.gradle/5.6.2/javaCompile/classAnalysis.bin differ diff --git a/android/.gradle/5.6.2/javaCompile/jarAnalysis.bin b/android/.gradle/5.6.2/javaCompile/jarAnalysis.bin index 4af34c4..7430e8a 100644 Binary files a/android/.gradle/5.6.2/javaCompile/jarAnalysis.bin and b/android/.gradle/5.6.2/javaCompile/jarAnalysis.bin differ diff --git a/android/.gradle/5.6.2/javaCompile/javaCompile.lock b/android/.gradle/5.6.2/javaCompile/javaCompile.lock index 63cd2ac..c476ec2 100644 Binary files a/android/.gradle/5.6.2/javaCompile/javaCompile.lock and b/android/.gradle/5.6.2/javaCompile/javaCompile.lock differ diff --git a/android/.gradle/5.6.2/javaCompile/taskHistory.bin b/android/.gradle/5.6.2/javaCompile/taskHistory.bin index 6d830b1..451e8c0 100644 Binary files a/android/.gradle/5.6.2/javaCompile/taskHistory.bin and b/android/.gradle/5.6.2/javaCompile/taskHistory.bin differ diff --git a/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 8fd64b8..8449ed1 100644 Binary files a/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/android/.gradle/buildOutputCleanup/outputFiles.bin b/android/.gradle/buildOutputCleanup/outputFiles.bin index 5b394fa..a467dcf 100644 Binary files a/android/.gradle/buildOutputCleanup/outputFiles.bin and b/android/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/android/local.properties b/android/local.properties index 4a96a23..a7f9296 100644 --- a/android/local.properties +++ b/android/local.properties @@ -1,5 +1,5 @@ -sdk.dir=C:\\Users\\nktum\\AppData\\Local\\Android\\Sdk -flutter.sdk=D:\\flutter +sdk.dir=C:\\Users\\welcome\\AppData\\Local\\Android\\sdk +flutter.sdk=D:\\Flutter\\flutter flutter.buildMode=debug flutter.versionName=1.0.0 flutter.versionCode=1 \ No newline at end of file diff --git a/ios/Flutter/Generated.xcconfig b/ios/Flutter/Generated.xcconfig deleted file mode 100644 index f292e8e..0000000 --- a/ios/Flutter/Generated.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -// This is a generated file; do not edit or check into version control. -FLUTTER_ROOT=C:\flutter\flutter -FLUTTER_APPLICATION_PATH=D:\Code\AndroidStudioProjects\Pocket_News_app_2.0 -FLUTTER_TARGET=lib\main.dart -FLUTTER_BUILD_DIR=build -SYMROOT=${SOURCE_ROOT}/../build\ios -OTHER_LDFLAGS=$(inherited) -framework Flutter -FLUTTER_FRAMEWORK_DIR=C:\flutter\flutter\bin\cache\artifacts\engine\ios -FLUTTER_BUILD_NAME=1.0.0 -FLUTTER_BUILD_NUMBER=1 diff --git a/ios/Flutter/flutter_export_environment.sh b/ios/Flutter/flutter_export_environment.sh deleted file mode 100644 index 9091cb1..0000000 --- a/ios/Flutter/flutter_export_environment.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=C:\flutter\flutter" -export "FLUTTER_APPLICATION_PATH=D:\Code\AndroidStudioProjects\Pocket_News_app_2.0" -export "FLUTTER_TARGET=lib\main.dart" -export "FLUTTER_BUILD_DIR=build" -export "SYMROOT=${SOURCE_ROOT}/../build\ios" -export "OTHER_LDFLAGS=$(inherited) -framework Flutter" -export "FLUTTER_FRAMEWORK_DIR=C:\flutter\flutter\bin\cache\artifacts\engine\ios" -export "FLUTTER_BUILD_NAME=1.0.0" -export "FLUTTER_BUILD_NUMBER=1" diff --git a/lib/screens/box.dart b/lib/screens/box.dart new file mode 100644 index 0000000..4b6c668 --- /dev/null +++ b/lib/screens/box.dart @@ -0,0 +1,37 @@ +import 'package:flutter/material.dart'; + +Color mC = Colors.grey.shade100; +Color mCL = Colors.white; +Color mCD = Colors.black.withOpacity(0.075); +Color mCC = Colors.green.withOpacity(0.65); +Color fCL = Colors.grey.shade600; + +BoxDecoration nMbox = BoxDecoration( + shape: BoxShape.circle, + color: mC, + boxShadow: [ + BoxShadow( + color: mCD, + offset: Offset(10, 10), + blurRadius: 10, + ), + BoxShadow( + color: mCL, + offset: Offset(-10, -10), + blurRadius: 10, + ), + ] +); + +BoxDecoration nMboxInvert = BoxDecoration( + borderRadius: BorderRadius.circular(15), + color: mCD, + boxShadow: [ + BoxShadow( + color: mCL, + offset: Offset(3, 3), + blurRadius: 3, + spreadRadius: -3 + ), + ] +); \ No newline at end of file diff --git a/lib/screens/logout.dart b/lib/screens/logout.dart new file mode 100644 index 0000000..a1d13c6 --- /dev/null +++ b/lib/screens/logout.dart @@ -0,0 +1,121 @@ +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter/material.dart'; +import 'package:google_sign_in/google_sign_in.dart'; +import 'package:gradient_widgets/gradient_widgets.dart'; +import 'package:pocketnews/screens/box.dart'; + +import '../services/current_user.dart'; +import 'login_page.dart'; + +class Logout extends StatefulWidget { + @override + _MyHomePageState createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: false, + backgroundColor: Colors.grey[50], + elevation: 0, + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Stack(children: [ + InkWell( + onTap: () { + Navigator.pop(context); + }, + child: Icon(Icons.arrow_back, color: Colors.black87)), + ]), + ])), + body: SingleChildScrollView( + child: Column(children: [ + SizedBox(height: 30), + Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + Center( + child: Text('LOGOUT PAGE', + style: TextStyle( + fontSize: 22, + fontWeight: FontWeight.bold, + fontFamily: 'Montserrat')), + ), + ]), + SizedBox(height: 70), + Container( + width: 280, + height: 280, + padding: EdgeInsets.all(8), + decoration: nMbox, + child: Container( + decoration: nMbox, + padding: EdgeInsets.all(3), + child: Container( + decoration: BoxDecoration( + shape: BoxShape.circle, + image: DecorationImage( + // image: AssetImage('assets/avatar.JPG'), + image:AssetImage("assests/images/75Fg.gif"), + + ), + ), + ), + ), + ), + SizedBox(height: 30), + Column( + children: [ + Center( + child: Text('TAP LOGOUT BUTTON TO LOGOUT', + style: TextStyle( + fontSize: 14, + color: Colors.black87, + fontWeight: FontWeight.bold))), + ], + ), + SizedBox(height: 30), + Center( + child: Padding( + padding: EdgeInsets.all(15), + child: GradientButton( + increaseHeightBy: 10, + increaseWidthBy: 16, + child: Center(child: Text('LOGOUT')), + callback: () async { + print("Login Mode: " + loginMode); + if (loginMode == "google") { + GoogleSignIn googleSignIn = GoogleSignIn(); + await googleSignIn + .signOut() + .then((value) => Navigator.pushReplacement( + context, + MaterialPageRoute( + builder: (context) => LoginPage()), + )) + .catchError((err) => print(err)); + } else { + FirebaseAuth.instance + .signOut() + .then( + (result) => Navigator.pushReplacement( + context, + MaterialPageRoute( + builder: (context) => LoginPage()), + ), + ) + .catchError((err) => print(err)); + } + +// }navigationBar.onTap(1); + }, + gradient: Gradients.hotLinear, + shadowColor: + Gradients.backToFuture.colors.last.withOpacity(0.25), + ), + )) + ]), + )); + } +} diff --git a/lib/screens/user_page.dart b/lib/screens/user_page.dart index 6da5150..1f206e7 100644 --- a/lib/screens/user_page.dart +++ b/lib/screens/user_page.dart @@ -1,9 +1,11 @@ import 'dart:ui'; + import 'package:flutter/material.dart'; import 'package:curved_navigation_bar/curved_navigation_bar.dart'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:pocketnews/screens/login_page.dart'; import 'package:flutter_email_sender/flutter_email_sender.dart'; +import 'package:pocketnews/screens/logout.dart'; import 'package:pocketnews/services/current_user.dart'; import 'package:google_sign_in/google_sign_in.dart'; import 'package:pocketnews/screens/homeSports.dart'; @@ -12,6 +14,7 @@ import 'package:pocketnews/screens/homeBusiness.dart'; import 'package:pocketnews/screens/homeHealth.dart'; import 'package:pocketnews/screens/homeTechnology.dart'; import 'package:pocketnews/screens/homeEntertainment.dart'; +import 'package:share/share.dart'; class UserPage extends StatefulWidget { UserPage({Key key, this.controller, this.fname, this.globalKey}) : super(key: key); @@ -169,28 +172,39 @@ class _UserPageState extends State { onTap: () async { print("Login Mode: " + loginMode); - if (loginMode == "google") { - GoogleSignIn googleSignIn = GoogleSignIn(); - await googleSignIn - .signOut() - .then((value) => Navigator.pushReplacement( - context, - MaterialPageRoute(builder: (context) => LoginPage()), - )) - .catchError((err) => print(err)); - } else { - FirebaseAuth.instance - .signOut() - .then( - (result) => Navigator.pushReplacement( - context, - MaterialPageRoute(builder: (context) => LoginPage()), - ), - ) - .catchError((err) => print(err)); - } + Navigator.push( + context, + MaterialPageRoute(builder: (context) => Logout()), + ); // navigationBar.onTap(1); }, + ), + ListTile( + leading: Icon( + Icons.share, + color: Colors.white, + ), + title: Text( + "Share ", + style: TextStyle(color: Colors.white), + ), + trailing: Icon( + Icons.navigate_next, + color: Colors.white, + ), + onTap: () { + final RenderBox box = + context.findRenderObject(); + Share.share( + //U r coustom message + "Check Out This Amazing News App! \n https://github.com/vipuluthaiah/News_app_2.0 ", + subject: "Share This App", + sharePositionOrigin: + box.localToGlobal(Offset.zero) & + box.size, + ); + // send(); + }, ), ], ), diff --git a/pubspec.lock b/pubspec.lock index d9fa6b9..e217601 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -21,7 +21,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.4.1" + version: "2.4.2" auto_size_text: dependency: "direct main" description: @@ -36,6 +36,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" charcode: dependency: transitive description: @@ -77,7 +84,7 @@ packages: name: collection url: "https://pub.dartlang.org" source: hosted - version: "1.14.12" + version: "1.14.13" convert: dependency: transitive description: @@ -226,6 +233,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.9.1+1" + gradient_widgets: + dependency: "direct main" + description: + name: gradient_widgets + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.2" http: dependency: "direct main" description: @@ -267,7 +281,7 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.6" + version: "0.12.8" meta: dependency: transitive description: @@ -370,7 +384,7 @@ packages: name: stack_trace url: "https://pub.dartlang.org" source: hosted - version: "1.9.3" + version: "1.9.5" stream_channel: dependency: transitive description: @@ -412,14 +426,14 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.15" + version: "0.2.17" typed_data: dependency: transitive description: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.1.6" + version: "1.2.0" vector_math: dependency: transitive description: @@ -442,5 +456,5 @@ packages: source: hosted version: "2.2.1" sdks: - dart: ">=2.7.0 <3.0.0" + dart: ">=2.9.0-14.0.dev <3.0.0" flutter: ">=1.12.13+hotfix.5 <2.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 7afbf26..c6a68f4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -33,6 +33,8 @@ dependencies: marquee: ^1.5.2 auto_size_text: ^2.1.0 google_sign_in: + gradient_widgets: ^0.5.1 + flutter_auth_buttons: simple_animations: dev_dependencies: diff --git a/ss/20201016_201059.gif b/ss/20201016_201059.gif new file mode 100644 index 0000000..3f49570 Binary files /dev/null and b/ss/20201016_201059.gif differ diff --git a/ss/Screenshot_20201016-201033.jpg b/ss/Screenshot_20201016-201033.jpg new file mode 100644 index 0000000..123c7c0 Binary files /dev/null and b/ss/Screenshot_20201016-201033.jpg differ diff --git a/ss/Screenshot_20201016-201044_Android System.jpg b/ss/Screenshot_20201016-201044_Android System.jpg new file mode 100644 index 0000000..8a4ef3f Binary files /dev/null and b/ss/Screenshot_20201016-201044_Android System.jpg differ diff --git a/test/widget_test.dart b/test/widget_test.dart deleted file mode 100644 index a1a719b..0000000 --- a/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility that Flutter provides. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:pocketnews/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -}