Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
library-app-flutter
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ilham Maulana
library-app-flutter
Commits
bc0e46c6
Commit
bc0e46c6
authored
Aug 01, 2024
by
Ilham Maulana
💻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: combine member list screen and user list screen
parent
cda1cc72
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
34 additions
and
19 deletions
+34
-19
main.dart
lib/main.dart
+2
-8
auth_provider.dart
lib/src/providers/auth_provider.dart
+9
-7
admin_list_screen.dart
lib/src/screens/list/admin_list_screen.dart
+0
-0
list_screen.dart
lib/src/screens/list/list_screen.dart
+19
-0
member_list_screen.dart
lib/src/screens/list/member_list_screen.dart
+4
-4
No files found.
lib/main.dart
View file @
bc0e46c6
...
@@ -2,14 +2,13 @@ import 'package:flutter/material.dart';
...
@@ -2,14 +2,13 @@ import 'package:flutter/material.dart';
import
'package:flutter/gestures.dart'
;
import
'package:flutter/gestures.dart'
;
import
'package:google_fonts/google_fonts.dart'
;
import
'package:google_fonts/google_fonts.dart'
;
import
'package:library_app/src/screens/admin_list_screen.dart'
;
import
'package:provider/provider.dart'
;
import
'package:provider/provider.dart'
;
import
'package:library_app/src/providers/auth_provider.dart'
;
import
'package:library_app/src/providers/auth_provider.dart'
;
import
'package:library_app/src/providers/navigations_provider.dart'
;
import
'package:library_app/src/providers/navigations_provider.dart'
;
import
'package:library_app/src/providers/book_provider.dart'
;
import
'package:library_app/src/providers/book_provider.dart'
;
import
'package:library_app/src/screens/form_screen.dart'
;
import
'package:library_app/src/screens/form_screen.dart'
;
import
'package:library_app/src/screens/list_screen.dart'
;
import
'package:library_app/src/screens/list
/list
_screen.dart'
;
void
main
(
)
{
void
main
(
)
{
runApp
(
const
LibraryApp
());
runApp
(
const
LibraryApp
());
...
@@ -44,14 +43,9 @@ class _LibraryApp extends State<LibraryApp> {
...
@@ -44,14 +43,9 @@ class _LibraryApp extends State<LibraryApp> {
),
),
home:
Consumer
<
AuthProvider
>(
home:
Consumer
<
AuthProvider
>(
builder:
(
context
,
authProvider
,
child
)
{
builder:
(
context
,
authProvider
,
child
)
{
final
user
=
authProvider
.
user
;
final
isAuthenticated
=
authProvider
.
isAuthenticated
;
final
isAuthenticated
=
authProvider
.
isAuthenticated
;
return
isAuthenticated
return
isAuthenticated
?
const
ListScreen
()
:
const
LoginScreen
();
?
user
!=
null
&&
user
.
isStaff
?
const
AdminListScreen
()
:
const
ListScreen
()
:
const
LoginScreen
();
},
},
),
),
scrollBehavior:
AdaptiveScrollBehavior
(),
scrollBehavior:
AdaptiveScrollBehavior
(),
...
...
lib/src/providers/auth_provider.dart
View file @
bc0e46c6
...
@@ -39,12 +39,19 @@ class AuthProvider with ChangeNotifier {
...
@@ -39,12 +39,19 @@ class AuthProvider with ChangeNotifier {
String
?
token
=
await
getAccessToken
();
String
?
token
=
await
getAccessToken
();
bool
isValid
=
token
!=
null
;
bool
isValid
=
token
!=
null
;
if
(
isValid
)
{
if
(
!
isValid
)
{
isAuthenticated
=
tru
e
;
isAuthenticated
=
fals
e
;
}
}
isAuthenticated
=
true
;
}
}
Future
<
void
>
signIn
(
String
username
,
String
password
)
async
{
Future
<
void
>
signIn
(
String
username
,
String
password
)
async
{
final
token
=
await
getAccessToken
();
if
(
token
!=
null
)
{
validateToken
();
}
try
{
try
{
final
response
=
await
http
.
post
(
final
response
=
await
http
.
post
(
Uri
.
parse
(
'
$baseUrl
/auth/login'
),
Uri
.
parse
(
'
$baseUrl
/auth/login'
),
...
@@ -56,11 +63,6 @@ class AuthProvider with ChangeNotifier {
...
@@ -56,11 +63,6 @@ class AuthProvider with ChangeNotifier {
final
data
=
jsonDecode
(
response
.
body
);
final
data
=
jsonDecode
(
response
.
body
);
await
storeAccessToken
(
Token
.
fromJson
(
data
)!.
key
);
await
storeAccessToken
(
Token
.
fromJson
(
data
)!.
key
);
final
token
=
await
getAccessToken
();
if
(
token
!=
null
)
{
validateToken
();
}
invalidUsernameOrPassword
=
false
;
invalidUsernameOrPassword
=
false
;
debugPrint
(
"Login successful
$token
"
);
debugPrint
(
"Login successful
$token
"
);
}
else
if
(
response
.
statusCode
==
401
)
{
}
else
if
(
response
.
statusCode
==
401
)
{
...
...
lib/src/screens/admin_list_screen.dart
→
lib/src/screens/
list/
admin_list_screen.dart
View file @
bc0e46c6
File moved
lib/src/screens/list/list_screen.dart
0 → 100644
View file @
bc0e46c6
import
'package:flutter/material.dart'
;
import
'package:library_app/src/providers/auth_provider.dart'
;
import
'package:library_app/src/screens/list/admin_list_screen.dart'
;
import
'package:library_app/src/screens/list/member_list_screen.dart'
;
import
'package:provider/provider.dart'
;
class
ListScreen
extends
StatelessWidget
{
const
ListScreen
({
super
.
key
});
@override
Widget
build
(
BuildContext
context
)
{
final
user
=
Provider
.
of
<
AuthProvider
>(
context
).
user
;
if
(
user
!=
null
&&
user
.
isStaff
)
{
return
const
AdminListScreen
();
}
return
const
MemberListScreen
();
}
}
lib/src/screens/list_screen.dart
→
lib/src/screens/list
/member_list
_screen.dart
View file @
bc0e46c6
...
@@ -10,14 +10,14 @@ import 'package:library_app/src/widgets/loans/loan_list.dart';
...
@@ -10,14 +10,14 @@ import 'package:library_app/src/widgets/loans/loan_list.dart';
import
'package:library_app/src/widgets/profile.dart'
;
import
'package:library_app/src/widgets/profile.dart'
;
import
'package:provider/provider.dart'
;
import
'package:provider/provider.dart'
;
class
ListScreen
extends
StatefulWidget
{
class
Member
ListScreen
extends
StatefulWidget
{
const
ListScreen
({
super
.
key
});
const
Member
ListScreen
({
super
.
key
});
@override
@override
State
<
ListScreen
>
createState
()
=>
_
ListScreen
();
State
<
MemberListScreen
>
createState
()
=>
_Member
ListScreen
();
}
}
class
_
ListScreen
extends
State
<
ListScreen
>
{
class
_
MemberListScreen
extends
State
<
Member
ListScreen
>
{
@override
@override
void
initState
()
{
void
initState
()
{
super
.
initState
();
super
.
initState
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment