Skip to content

Commit e3d21f4

Browse files
committed
updates added'
1 parent a9c73ff commit e3d21f4

File tree

9 files changed

+131
-42
lines changed

9 files changed

+131
-42
lines changed

movie_app/README.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
# Movie_app
2-
3-
## The Movie App is currently under development.
4-
5-
### Initial version Demo:
6-
7-
8-
9-
https://user-images.githubusercontent.com/84179065/209716476-cd179139-2d2a-4d98-a2e0-4985eeb2efab.mp4
1+
# movie_app
102

3+
A new Flutter project.
114

125
## Getting Started
136

movie_app/android/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,5 @@
3131
android:name="flutterEmbedding"
3232
android:value="2" />
3333
</application>
34+
<!-- <uses-permission android:name="android.permission.INTERNET"> -->
3435
</manifest>

movie_app/lib/main.dart

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import 'package:firebase_core/firebase_core.dart';
22
import 'package:flutter/material.dart';
33
import 'package:flutter_dotenv/flutter_dotenv.dart';
4+
import 'package:movie_app/moviescreen.dart';
45
import 'package:movie_app/screens/login.dart';
6+
import 'package:movie_app/utils/helper/sharedprefhelp.dart';
57
import 'package:movie_app/utils/text.dart';
68
import 'package:movie_app/widgets_ui/nowPlaying.dart';
79
import 'package:movie_app/widgets_ui/topRated.dart';
@@ -15,15 +17,37 @@ void main()async {
1517
runApp(const MyApp());
1618
}
1719

18-
class MyApp extends StatelessWidget {
20+
class MyApp extends StatefulWidget {
1921
const MyApp({Key? key}) : super(key: key);
2022

2123
@override
24+
State<MyApp> createState() => _MyAppState();
25+
}
26+
27+
class _MyAppState extends State<MyApp> {
28+
bool _isLoggedIn = false;
29+
30+
@override
31+
void initState() {
32+
// TODO: implement initState
33+
super.initState();
34+
getUserLoggedInStatus();
35+
}
36+
37+
getUserLoggedInStatus()async{
38+
await SharedprefFunction.getUserLoggedInStatus().then((value){
39+
if(value!=null){
40+
setState(() {
41+
_isLoggedIn = value;
42+
});
43+
}
44+
});
45+
}
2246
Widget build(BuildContext context) {
2347
return MaterialApp(
2448
debugShowCheckedModeBanner: false,
2549
// home: LoginScreen(),
26-
home: LoginScreen(),
50+
home:_isLoggedIn?const Moviescreen():const LoginScreen(),
2751
theme: ThemeData(
2852

2953
brightness: Brightness.dark,
@@ -35,16 +59,3 @@ class MyApp extends StatelessWidget {
3559
}
3660

3761

38-
// class Home extends StatefulWidget {
39-
// const Home({Key? key}) : super(key: key);
40-
//
41-
// @override
42-
// State<Home> createState() => _HomeState();
43-
// }
44-
//
45-
// class _HomeState extends State<Home> {
46-
// @override
47-
// Widget build(BuildContext context) {
48-
// return Container();
49-
// }
50-
// }

movie_app/lib/screens/login.dart

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:firebase_auth/firebase_auth.dart';
22
import 'package:flutter/material.dart';
33
import 'package:movie_app/screens/signup.dart';
4+
import 'package:movie_app/utils/helper/sharedprefhelp.dart';
45
import 'package:movie_app/utils/text.dart';
56

67
import '../moviescreen.dart';
@@ -86,11 +87,13 @@ class _LoginScreenState extends State<LoginScreen> {
8687
.signInWithEmailAndPassword(
8788
email: _emailController.text,
8889
password: _passwordController.text)
89-
.then((value) {
90-
print("Login Successful!");
90+
.then((value) async{
91+
await SharedprefFunction.saveLogInStatus(true);
92+
// await SharedprefFunction.saveUserEmail(_emailController.text);
93+
9194
ScaffoldMessenger.of(context).showSnackBar(alertBox(context, "Login Successful", "green"));
92-
Navigator.push(context,
93-
MaterialPageRoute(builder: (context) => Moviescreen()));
95+
Navigator.pushAndRemoveUntil(context,
96+
MaterialPageRoute(builder: (context) => Moviescreen()), (route)=>false);
9497
}).onError((error, stackTrace) {
9598
print("Error: ${error.toString()}");
9699
ScaffoldMessenger.of(context).showSnackBar(alertBox(context, "${error.toString()}", "red"));

movie_app/lib/screens/sidemenu.dart

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:firebase_auth/firebase_auth.dart';
22
import 'package:flutter/material.dart';
3+
import 'package:movie_app/utils/helper/sharedprefhelp.dart';
34

45
import 'login.dart';
56

@@ -58,10 +59,12 @@ class MenuDrawer extends StatelessWidget {
5859
),
5960
),
6061
onTap: ()async {
61-
await FirebaseAuth.instance.signOut().then((value) =>
62+
await FirebaseAuth.instance.signOut().then((value) async
6263
{
63-
Navigator.push(context,
64-
MaterialPageRoute(builder: (context) => LoginScreen()))
64+
await SharedprefFunction.saveLogInStatus(false);
65+
await SharedprefFunction.saveUserEmail("");
66+
Navigator.pushAndRemoveUntil(context,
67+
MaterialPageRoute(builder: (context) => LoginScreen()), (route)=>false);
6568
});
6669
})
6770
],

movie_app/lib/screens/signup.dart

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:firebase_auth/firebase_auth.dart';
22
import 'package:flutter/material.dart';
33
import 'package:movie_app/moviescreen.dart';
44
import 'package:movie_app/screens/login.dart';
5+
import '../utils/helper/sharedprefhelp.dart';
56
import '../widgets_ui/reusableWidgets.dart';
67

78
class SignUpScreen extends StatefulWidget {
@@ -66,20 +67,25 @@ class _SignUpScreenState extends State<SignUpScreen> {
6667
height: 40,
6768
),
6869
reusableButton(context, false, () {
69-
FirebaseAuth.instance.createUserWithEmailAndPassword(
70-
email: _emailController.text,
71-
password: _passwordController.text).then(
70+
FirebaseAuth.instance
71+
.createUserWithEmailAndPassword(
72+
email: _emailController.text,
73+
password: _passwordController.text)
74+
.then((value) async {
75+
// print("Account Created Successfully!");
76+
await SharedprefFunction.saveLogInStatus(true);
77+
// await SharedprefFunction.saveUserEmail(_emailController.text);
7278

73-
(value){
74-
// print("Account Created Successfully!");
75-
ScaffoldMessenger.of(context).showSnackBar(alertBox(context, "Account Created Successfully!", "green"));
76-
Navigator.push(context,
77-
MaterialPageRoute(builder: (context) => Moviescreen()));}).onError((error, stackTrace) {
78-
// print("Error: ${error.toString()}");
79-
ScaffoldMessenger.of(context).showSnackBar(alertBox(context, "${error.toString()}", "red"));
79+
ScaffoldMessenger.of(context).showSnackBar(alertBox(
80+
context, "Account Created Successfully!", "green"));
81+
Navigator.pushAndRemoveUntil(context,
82+
MaterialPageRoute(builder: (context) => Moviescreen()), (route)=>false);
83+
}).onError((error, stackTrace) {
84+
// print("Error: ${error.toString()}");
85+
ScaffoldMessenger.of(context).showSnackBar(
86+
alertBox(context, "${error.toString()}", "red"));
8087
// alertBox(context);
8188
});
82-
8389
}),
8490
],
8591
),
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import 'package:shared_preferences/shared_preferences.dart';
2+
3+
class SharedprefFunction {
4+
static String loginStatus = 'loginkey';
5+
static String userEmail = 'emailKey';
6+
7+
static Future<bool> saveLogInStatus(bool islogIn) async {
8+
SharedPreferences pref = await SharedPreferences.getInstance();
9+
return await pref.setBool(loginStatus, islogIn);
10+
}
11+
12+
static Future<bool> saveUserEmail(String emailId) async {
13+
SharedPreferences pref = await SharedPreferences.getInstance();
14+
return await pref.setString(userEmail, emailId);
15+
}
16+
17+
static Future<bool?> getUserLoggedInStatus() async {
18+
SharedPreferences pref = await SharedPreferences.getInstance();
19+
return pref.getBool(loginStatus);
20+
}
21+
22+
}

movie_app/pubspec.lock

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,55 @@ packages:
317317
url: "https://pub.dartlang.org"
318318
source: hosted
319319
version: "4.2.4"
320+
shared_preferences:
321+
dependency: "direct main"
322+
description:
323+
name: shared_preferences
324+
url: "https://pub.dartlang.org"
325+
source: hosted
326+
version: "2.0.16"
327+
shared_preferences_android:
328+
dependency: transitive
329+
description:
330+
name: shared_preferences_android
331+
url: "https://pub.dartlang.org"
332+
source: hosted
333+
version: "2.0.14"
334+
shared_preferences_foundation:
335+
dependency: transitive
336+
description:
337+
name: shared_preferences_foundation
338+
url: "https://pub.dartlang.org"
339+
source: hosted
340+
version: "2.1.1"
341+
shared_preferences_linux:
342+
dependency: transitive
343+
description:
344+
name: shared_preferences_linux
345+
url: "https://pub.dartlang.org"
346+
source: hosted
347+
version: "2.1.2"
348+
shared_preferences_platform_interface:
349+
dependency: transitive
350+
description:
351+
name: shared_preferences_platform_interface
352+
url: "https://pub.dartlang.org"
353+
source: hosted
354+
version: "2.1.0"
355+
shared_preferences_web:
356+
dependency: transitive
357+
description:
358+
name: shared_preferences_web
359+
url: "https://pub.dartlang.org"
360+
source: hosted
361+
version: "2.0.4"
362+
shared_preferences_windows:
363+
dependency: transitive
364+
description:
365+
name: shared_preferences_windows
366+
url: "https://pub.dartlang.org"
367+
source: hosted
368+
version: "2.1.2"
320369
sky_engine:
321370
dependency: transitive
322371
description: flutter

movie_app/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ dependencies:
4141
firebase_core: ^2.4.0
4242
firebase_auth: ^4.2.3
4343
flutter_dotenv: ^5.0.2
44+
shared_preferences: ^2.0.16
4445

4546

4647
dev_dependencies:

0 commit comments

Comments
 (0)