add check token 25%
This commit is contained in:
parent
5c2a58e484
commit
e7afe8fddb
@ -3,6 +3,8 @@ import 'package:shared_preferences/shared_preferences.dart';
|
|||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import '../variable/globals.dart' as globals;
|
import '../variable/globals.dart' as globals;
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import '../pages/LoginDemo.dart';
|
||||||
|
|
||||||
class AuthService {
|
class AuthService {
|
||||||
// Login with username and password
|
// Login with username and password
|
||||||
@ -86,6 +88,21 @@ class AuthService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> checkTokenStatus(context) async {
|
||||||
|
bool loggedIn = await isLoggedIn();
|
||||||
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
|
|
||||||
|
if (!loggedIn) {
|
||||||
|
await prefs.remove("access_token"); // Correctly remove the token
|
||||||
|
|
||||||
|
Navigator.pushAndRemoveUntil(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(builder: (_) => LoginDemo()),
|
||||||
|
(route) => false, // Remove all previous routes
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Get stored access token
|
// Get stored access token
|
||||||
Future<String?> getAccessToken() async {
|
Future<String?> getAccessToken() async {
|
||||||
final prefs = await SharedPreferences.getInstance();
|
final prefs = await SharedPreferences.getInstance();
|
||||||
|
@ -13,6 +13,7 @@ import '../variable/globals.dart' as globals;
|
|||||||
|
|
||||||
import '../classes/ad_helper.dart';
|
import '../classes/ad_helper.dart';
|
||||||
import 'package:google_mobile_ads/google_mobile_ads.dart';
|
import 'package:google_mobile_ads/google_mobile_ads.dart';
|
||||||
|
import '../classes/auth_service.dart';
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
@ -39,6 +40,7 @@ class AddProfile extends StatefulWidget {
|
|||||||
|
|
||||||
class _AddProfileState extends State<AddProfile> with ShowAlertDialog {
|
class _AddProfileState extends State<AddProfile> with ShowAlertDialog {
|
||||||
BannerAd? _bannerAd;
|
BannerAd? _bannerAd;
|
||||||
|
final AuthService _authService = AuthService();
|
||||||
|
|
||||||
TextEditingController inputUserName = TextEditingController();
|
TextEditingController inputUserName = TextEditingController();
|
||||||
|
|
||||||
@ -140,6 +142,8 @@ class _AddProfileState extends State<AddProfile> with ShowAlertDialog {
|
|||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
_authService.checkTokenStatus(context);
|
||||||
|
|
||||||
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
|
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_bannerAd = ad;
|
_bannerAd = ad;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:io';
|
|
||||||
|
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
import '../classes/MyDrawer.dart';
|
import '../classes/MyDrawer.dart';
|
||||||
@ -7,6 +6,7 @@ import '../classes/MyDrawer.dart';
|
|||||||
import 'DisplayPictureScreen.dart';
|
import 'DisplayPictureScreen.dart';
|
||||||
import 'package:camera/camera.dart';
|
import 'package:camera/camera.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import '../classes/auth_service.dart';
|
||||||
|
|
||||||
Future<void> main() async {
|
Future<void> main() async {
|
||||||
// Ensure that plugin services are initialized so that `availableCameras()`
|
// Ensure that plugin services are initialized so that `availableCameras()`
|
||||||
@ -46,12 +46,14 @@ class Camera extends StatefulWidget {
|
|||||||
class CameraState extends State<Camera> {
|
class CameraState extends State<Camera> {
|
||||||
late CameraController _controller;
|
late CameraController _controller;
|
||||||
late Future<void> _initializeControllerFuture;
|
late Future<void> _initializeControllerFuture;
|
||||||
|
final AuthService _authService = AuthService();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
// To display the current output from the Camera,
|
// To display the current output from the Camera,
|
||||||
// create a CameraController.
|
// create a CameraController.
|
||||||
|
_authService.checkTokenStatus(context);
|
||||||
|
|
||||||
_controller = CameraController(
|
_controller = CameraController(
|
||||||
// Get a specific camera from the list of available cameras.
|
// Get a specific camera from the list of available cameras.
|
||||||
@ -95,7 +97,6 @@ class CameraState extends State<Camera> {
|
|||||||
// camera preview. Use a FutureBuilder to display a loading spinner until the
|
// camera preview. Use a FutureBuilder to display a loading spinner until the
|
||||||
// controller has finished initializing.
|
// controller has finished initializing.
|
||||||
drawer: MyDrawer(),
|
drawer: MyDrawer(),
|
||||||
|
|
||||||
body: FutureBuilder<void>(
|
body: FutureBuilder<void>(
|
||||||
future: _initializeControllerFuture,
|
future: _initializeControllerFuture,
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
|
@ -7,6 +7,7 @@ import 'package:image_picker/image_picker.dart';
|
|||||||
import 'EditEvent.dart';
|
import 'EditEvent.dart';
|
||||||
import 'package:camera/camera.dart';
|
import 'package:camera/camera.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import '../classes/auth_service.dart';
|
||||||
|
|
||||||
Future<void> main() async {
|
Future<void> main() async {
|
||||||
// Ensure that plugin services are initialized so that `availableCameras()`
|
// Ensure that plugin services are initialized so that `availableCameras()`
|
||||||
@ -45,10 +46,13 @@ class CameraEdit extends StatefulWidget {
|
|||||||
class CameraEditState extends State<CameraEdit> {
|
class CameraEditState extends State<CameraEdit> {
|
||||||
late CameraController _controller;
|
late CameraController _controller;
|
||||||
late Future<void> _initializeControllerFuture;
|
late Future<void> _initializeControllerFuture;
|
||||||
|
final AuthService _authService = AuthService();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
_authService.checkTokenStatus(context);
|
||||||
|
|
||||||
// To display the current output from the Camera,
|
// To display the current output from the Camera,
|
||||||
// create a CameraController.
|
// create a CameraController.
|
||||||
|
|
||||||
@ -95,7 +99,6 @@ class CameraEditState extends State<CameraEdit> {
|
|||||||
// camera preview. Use a FutureBuilder to display a loading spinner until the
|
// camera preview. Use a FutureBuilder to display a loading spinner until the
|
||||||
// controller has finished initializing.
|
// controller has finished initializing.
|
||||||
drawer: MyDrawer(),
|
drawer: MyDrawer(),
|
||||||
|
|
||||||
body: FutureBuilder<void>(
|
body: FutureBuilder<void>(
|
||||||
future: _initializeControllerFuture,
|
future: _initializeControllerFuture,
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
|
@ -16,6 +16,7 @@ import '../classes/MyDrawer.dart';
|
|||||||
|
|
||||||
import '../classes/ad_helper.dart';
|
import '../classes/ad_helper.dart';
|
||||||
import 'package:google_mobile_ads/google_mobile_ads.dart';
|
import 'package:google_mobile_ads/google_mobile_ads.dart';
|
||||||
|
import '../classes/auth_service.dart';
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
@ -62,11 +63,14 @@ class DisplayPictureScreen extends StatefulWidget {
|
|||||||
class DisplayPictureScreenState extends State<DisplayPictureScreen>
|
class DisplayPictureScreenState extends State<DisplayPictureScreen>
|
||||||
with ShowDescImageAdd, ShowAlertDialog, TickerProviderStateMixin {
|
with ShowDescImageAdd, ShowAlertDialog, TickerProviderStateMixin {
|
||||||
BannerAd? _bannerAd;
|
BannerAd? _bannerAd;
|
||||||
|
final AuthService _authService = AuthService();
|
||||||
|
|
||||||
late AnimationController controller;
|
late AnimationController controller;
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
_authService.checkTokenStatus(context);
|
||||||
|
|
||||||
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
|
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_bannerAd = ad;
|
_bannerAd = ad;
|
||||||
|
@ -9,12 +9,9 @@ import 'package:textfield_tags/textfield_tags.dart';
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'dart:typed_data';
|
|
||||||
import '../classes/events.dart';
|
import '../classes/events.dart';
|
||||||
import '../classes/MyDrawer.dart';
|
import '../classes/MyDrawer.dart';
|
||||||
|
|
||||||
import 'ItemMenu.dart';
|
|
||||||
import 'CameraEdit.dart';
|
|
||||||
import 'package:camera/camera.dart';
|
import 'package:camera/camera.dart';
|
||||||
|
|
||||||
import '../classes/alert.dart';
|
import '../classes/alert.dart';
|
||||||
@ -24,6 +21,7 @@ import '../variable/globals.dart' as globals;
|
|||||||
|
|
||||||
import '../classes/ad_helper.dart';
|
import '../classes/ad_helper.dart';
|
||||||
import 'package:google_mobile_ads/google_mobile_ads.dart';
|
import 'package:google_mobile_ads/google_mobile_ads.dart';
|
||||||
|
import '../classes/auth_service.dart';
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
@ -60,6 +58,8 @@ class EditEvent extends StatefulWidget {
|
|||||||
class _EditEventState extends State<EditEvent>
|
class _EditEventState extends State<EditEvent>
|
||||||
with ShowAlertDialog, ShowEventDialog {
|
with ShowAlertDialog, ShowEventDialog {
|
||||||
BannerAd? _bannerAd;
|
BannerAd? _bannerAd;
|
||||||
|
final AuthService _authService = AuthService();
|
||||||
|
|
||||||
TextEditingController inputName = TextEditingController();
|
TextEditingController inputName = TextEditingController();
|
||||||
|
|
||||||
TextEditingController inputDate = TextEditingController();
|
TextEditingController inputDate = TextEditingController();
|
||||||
@ -315,6 +315,8 @@ class _EditEventState extends State<EditEvent>
|
|||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
_authService.checkTokenStatus(context);
|
||||||
|
|
||||||
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
|
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_bannerAd = ad;
|
_bannerAd = ad;
|
||||||
|
@ -18,6 +18,7 @@ import 'package:camera/camera.dart';
|
|||||||
|
|
||||||
import '../classes/ad_helper.dart';
|
import '../classes/ad_helper.dart';
|
||||||
import 'package:google_mobile_ads/google_mobile_ads.dart';
|
import 'package:google_mobile_ads/google_mobile_ads.dart';
|
||||||
|
import '../classes/auth_service.dart';
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
@ -46,6 +47,7 @@ class ListItemMenu extends StatefulWidget {
|
|||||||
|
|
||||||
class _MyHomePageState extends State<ListItemMenu> {
|
class _MyHomePageState extends State<ListItemMenu> {
|
||||||
BannerAd? _bannerAd;
|
BannerAd? _bannerAd;
|
||||||
|
final AuthService _authService = AuthService();
|
||||||
|
|
||||||
Future<List<Events>> postsFuture = getPosts();
|
Future<List<Events>> postsFuture = getPosts();
|
||||||
List<Events> filteredPosts = [];
|
List<Events> filteredPosts = [];
|
||||||
@ -145,6 +147,7 @@ class _MyHomePageState extends State<ListItemMenu> {
|
|||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
_authService.checkTokenStatus(context);
|
||||||
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
|
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_bannerAd = ad;
|
_bannerAd = ad;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user