Skip to content

Commit 21440e3

Browse files
authored
Merge pull request #35 from CCExtractor/develop
Develop (V1.1.0)
2 parents 1404e23 + 1f0a474 commit 21440e3

File tree

9 files changed

+191
-17
lines changed

9 files changed

+191
-17
lines changed

.github/workflows/dart.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
java-version: '12.x'
1818
- uses: subosito/flutter-action@v1
1919
with:
20-
flutter-version: '2.2.2'
20+
flutter-version: '2.5.0'
2121
- run: flutter pub get
2222
# - run: flutter analyze
2323
- run: flutter format -n --set-exit-if-changed .

android/app/src/main/AndroidManifest.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
22
package="com.hustlecreatives.flood_mobile">
3+
34
<uses-permission android:name="android.permission.INTERNET"/>
45
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
56
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
7+
8+
<queries>
9+
<intent>
10+
<action android:name="android.intent.action.VIEW" />
11+
<data android:scheme="https" />
12+
</intent>
13+
</queries>
14+
615
<application
716
android:requestLegacyExternalStorage="true"
817
android:label="Flood"

ios/Runner/Info.plist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,9 @@
5151
</array>
5252
<key>UIViewControllerBasedStatusBarAppearance</key>
5353
<false/>
54+
<key>LSApplicationQueriesSchemes</key>
55+
<array>
56+
<string>https</string>
57+
</array>
5458
</dict>
5559
</plist>

lib/Components/logout_alert.dart

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
import 'package:flood_mobile/Constants/app_color.dart';
2+
import 'package:flutter/material.dart';
3+
4+
class LogOutAlert extends StatelessWidget {
5+
const LogOutAlert({Key? key, @required this.logoutOnClick})
6+
: assert(logoutOnClick != null),
7+
super(key: key);
8+
final VoidCallback? logoutOnClick;
9+
10+
@override
11+
Widget build(BuildContext context) {
12+
final hp = MediaQuery.of(context).size.height;
13+
return AlertDialog(
14+
backgroundColor: AppColor.secondaryColor,
15+
shape: RoundedRectangleBorder(
16+
borderRadius: BorderRadius.all(
17+
Radius.circular(12),
18+
),
19+
),
20+
contentPadding: EdgeInsets.all(20),
21+
content: Text(
22+
'Are you sure you want to\n Log out ?',
23+
textAlign: TextAlign.center,
24+
style: TextStyle(
25+
color: Colors.white,
26+
fontWeight: FontWeight.bold,
27+
fontSize: 20,
28+
),
29+
),
30+
actionsPadding: EdgeInsets.all(5),
31+
actions: [
32+
// Yes - TextButton
33+
TextButton(
34+
style: ButtonStyle(
35+
shape: MaterialStateProperty.all<RoundedRectangleBorder>(
36+
RoundedRectangleBorder(
37+
borderRadius: BorderRadius.circular(12),
38+
),
39+
),
40+
minimumSize: MaterialStateProperty.all<Size>(
41+
Size(hp * .160, hp * .059),
42+
),
43+
backgroundColor:
44+
MaterialStateProperty.all(AppColor.greenAccentColor),
45+
),
46+
onPressed: logoutOnClick,
47+
child: Text(
48+
'Yes',
49+
style: TextStyle(color: Colors.white),
50+
),
51+
),
52+
// Space in between Buttons
53+
SizedBox(width: 5),
54+
// No - TextButton
55+
TextButton(
56+
style: ButtonStyle(
57+
minimumSize: MaterialStateProperty.all<Size>(
58+
Size(hp * .160, hp * .059),
59+
),
60+
shape: MaterialStateProperty.all<RoundedRectangleBorder>(
61+
RoundedRectangleBorder(
62+
borderRadius: BorderRadius.circular(12),
63+
),
64+
),
65+
backgroundColor:
66+
MaterialStateProperty.all(AppColor.greyAccentColor),
67+
),
68+
onPressed: () {
69+
Navigator.of(context, rootNavigator: true).pop();
70+
},
71+
child: Text(
72+
'No',
73+
style: TextStyle(color: Colors.white),
74+
),
75+
),
76+
],
77+
);
78+
}
79+
}

lib/Constants/app_color.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
22

33
class AppColor {
44
static const Color primaryColor = Color(0xff0E2537);
5+
static const Color greyAccentColor = Color(0xff2A3342);
56
static const Color secondaryColor = Color(0xff305067);
67
static const Color greenAccentColor = Color(0xff39C481);
78
static const Color textColor = Colors.white;

lib/Pages/home_screen.dart

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:badges/badges.dart';
22
import 'package:flood_mobile/Api/client_api.dart';
33
import 'package:flood_mobile/Api/notifications_api.dart';
4+
import 'package:flood_mobile/Components/logout_alert.dart';
45
import 'package:flood_mobile/Components/nav_drawer_list_tile.dart';
56
import 'package:flood_mobile/Components/notification_popup_dialogue_container.dart';
67
import 'package:flood_mobile/Constants/app_color.dart';
@@ -14,10 +15,12 @@ import 'package:flood_mobile/Route/routes.dart';
1415
import 'package:flutter/material.dart';
1516
import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
1617
import 'package:flutter_svg/svg.dart';
18+
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
1719
import 'package:hidden_drawer_menu/controllers/simple_hidden_drawer_controller.dart';
1820
import 'package:hidden_drawer_menu/simple_hidden_drawer/simple_hidden_drawer.dart';
1921
import 'package:provider/provider.dart';
2022
import 'package:shared_preferences/shared_preferences.dart';
23+
import 'package:url_launcher/url_launcher.dart';
2124

2225
class HomeScreen extends StatefulWidget {
2326
@override
@@ -198,18 +201,36 @@ class _MenuState extends State<Menu> {
198201
},
199202
title: 'Settings'),
200203
NavDrawerListTile(
201-
icon: Icons.exit_to_app,
202-
onTap: () async {
204+
icon: Icons.exit_to_app,
205+
onTap: () async {
206+
showDialog(
207+
context: context,
208+
builder: (context) => LogOutAlert(
209+
logoutOnClick: () async {
210+
controller.toggle();
211+
SharedPreferences prefs =
212+
await SharedPreferences.getInstance();
213+
prefs.setString('floodToken', '');
214+
Provider.of<UserDetailProvider>(context, listen: false)
215+
.setToken('');
216+
Navigator.of(context).pushNamedAndRemoveUntil(
217+
Routes.loginScreenRoute,
218+
(Route<dynamic> route) => false);
219+
},
220+
),
221+
);
222+
},
223+
title: 'Logout',
224+
),
225+
NavDrawerListTile(
226+
icon: FontAwesomeIcons.github,
227+
onTap: () {
203228
controller.toggle();
204-
SharedPreferences prefs =
205-
await SharedPreferences.getInstance();
206-
prefs.setString('floodToken', '');
207-
Provider.of<UserDetailProvider>(context, listen: false)
208-
.setToken('');
209-
Navigator.of(context).pushNamedAndRemoveUntil(
210-
Routes.loginScreenRoute, (Route<dynamic> route) => false);
229+
launch(
230+
'https://github.com/CCExtractor/Flood_Mobile#usage--screenshots',
231+
);
211232
},
212-
title: 'Logout'),
233+
title: 'GitHub'),
213234
NavDrawerListTile(
214235
icon: Icons.info,
215236
onTap: () {

lib/Pages/login_screen.dart

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import 'package:flood_mobile/Constants/app_color.dart';
55
import 'package:flood_mobile/Provider/api_provider.dart';
66
import 'package:flood_mobile/Route/routes.dart';
77
import 'package:flutter/material.dart';
8+
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
89
import 'package:loading_overlay/loading_overlay.dart';
910
import 'package:provider/provider.dart';
11+
import 'package:url_launcher/url_launcher.dart';
1012

1113
class LoginScreen extends StatefulWidget {
1214
@override
@@ -21,6 +23,7 @@ class _LoginScreenState extends State<LoginScreen> {
2123
TextEditingController urlController =
2224
new TextEditingController(text: 'http://localhost:3000');
2325
final _formKey = GlobalKey<FormState>();
26+
2427
@override
2528
Widget build(BuildContext context) {
2629
double hp = MediaQuery.of(context).size.height;
@@ -302,6 +305,20 @@ class _LoginScreenState extends State<LoginScreen> {
302305
),
303306
),
304307
),
308+
SizedBox(
309+
height: hp * 0.06,
310+
),
311+
IconButton(
312+
icon: FaIcon(
313+
FontAwesomeIcons.github,
314+
),
315+
onPressed: () {
316+
launch(
317+
'https://github.com/CCExtractor/Flood_Mobile#usage--screenshots',
318+
);
319+
},
320+
iconSize: hp * 0.05,
321+
),
305322
SizedBox(
306323
height: hp * 0.02,
307324
),

pubspec.lock

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ packages:
2828
name: async
2929
url: "https://pub.dartlang.org"
3030
source: hosted
31-
version: "2.6.1"
31+
version: "2.8.1"
3232
badges:
3333
dependency: "direct main"
3434
description:
@@ -112,7 +112,7 @@ packages:
112112
name: charcode
113113
url: "https://pub.dartlang.org"
114114
source: hosted
115-
version: "1.2.0"
115+
version: "1.3.1"
116116
checked_yaml:
117117
dependency: transitive
118118
description:
@@ -755,7 +755,7 @@ packages:
755755
name: test_api
756756
url: "https://pub.dartlang.org"
757757
source: hosted
758-
version: "0.3.0"
758+
version: "0.4.2"
759759
timing:
760760
dependency: transitive
761761
description:
@@ -770,6 +770,48 @@ packages:
770770
url: "https://pub.dartlang.org"
771771
source: hosted
772772
version: "1.3.0"
773+
url_launcher:
774+
dependency: "direct main"
775+
description:
776+
name: url_launcher
777+
url: "https://pub.dartlang.org"
778+
source: hosted
779+
version: "6.0.12"
780+
url_launcher_linux:
781+
dependency: transitive
782+
description:
783+
name: url_launcher_linux
784+
url: "https://pub.dartlang.org"
785+
source: hosted
786+
version: "2.0.2"
787+
url_launcher_macos:
788+
dependency: transitive
789+
description:
790+
name: url_launcher_macos
791+
url: "https://pub.dartlang.org"
792+
source: hosted
793+
version: "2.0.2"
794+
url_launcher_platform_interface:
795+
dependency: transitive
796+
description:
797+
name: url_launcher_platform_interface
798+
url: "https://pub.dartlang.org"
799+
source: hosted
800+
version: "2.0.4"
801+
url_launcher_web:
802+
dependency: transitive
803+
description:
804+
name: url_launcher_web
805+
url: "https://pub.dartlang.org"
806+
source: hosted
807+
version: "2.0.4"
808+
url_launcher_windows:
809+
dependency: transitive
810+
description:
811+
name: url_launcher_windows
812+
url: "https://pub.dartlang.org"
813+
source: hosted
814+
version: "2.0.2"
773815
vector_math:
774816
dependency: transitive
775817
description:
@@ -876,5 +918,5 @@ packages:
876918
source: hosted
877919
version: "3.1.0"
878920
sdks:
879-
dart: ">=2.13.0 <3.0.0"
880-
flutter: ">=2.0.0"
921+
dart: ">=2.14.0 <3.0.0"
922+
flutter: ">=2.5.0"

pubspec.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
1818
version: 1.0.0+1
1919

2020
environment:
21-
sdk: ">=2.12.0 <3.0.0"
21+
sdk: ">=2.14.0 <3.0.0"
2222

2323
dependencies:
2424
flutter:
@@ -58,6 +58,7 @@ dependencies:
5858
path_provider: ^2.0.2
5959
permission_handler: ^8.1.4+2
6060
flutter_client_sse: ^0.1.0
61+
url_launcher: ^6.0.12
6162
# git:
6263
# url: https://github.com/pratikbaid3/flutter_client_sse
6364
# path:

0 commit comments

Comments
 (0)