add check token 25%

This commit is contained in:
Valentin CZERYBA 2025-03-06 21:27:06 +01:00
parent 5c2a58e484
commit e7afe8fddb
7 changed files with 40 additions and 6 deletions

View File

@ -3,6 +3,8 @@ import 'package:shared_preferences/shared_preferences.dart';
import 'package:http/http.dart' as http;
import '../variable/globals.dart' as globals;
import 'dart:io';
import 'package:flutter/material.dart';
import '../pages/LoginDemo.dart';
class AuthService {
// 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
Future<String?> getAccessToken() async {
final prefs = await SharedPreferences.getInstance();

View File

@ -13,6 +13,7 @@ import '../variable/globals.dart' as globals;
import '../classes/ad_helper.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
import '../classes/auth_service.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
@ -39,6 +40,7 @@ class AddProfile extends StatefulWidget {
class _AddProfileState extends State<AddProfile> with ShowAlertDialog {
BannerAd? _bannerAd;
final AuthService _authService = AuthService();
TextEditingController inputUserName = TextEditingController();
@ -140,6 +142,8 @@ class _AddProfileState extends State<AddProfile> with ShowAlertDialog {
@override
void initState() {
super.initState();
_authService.checkTokenStatus(context);
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
setState(() {
_bannerAd = ad;

View File

@ -1,5 +1,4 @@
import 'dart:async';
import 'dart:io';
import 'package:image_picker/image_picker.dart';
import '../classes/MyDrawer.dart';
@ -7,6 +6,7 @@ import '../classes/MyDrawer.dart';
import 'DisplayPictureScreen.dart';
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import '../classes/auth_service.dart';
Future<void> main() async {
// Ensure that plugin services are initialized so that `availableCameras()`
@ -46,12 +46,14 @@ class Camera extends StatefulWidget {
class CameraState extends State<Camera> {
late CameraController _controller;
late Future<void> _initializeControllerFuture;
final AuthService _authService = AuthService();
@override
void initState() {
super.initState();
// To display the current output from the Camera,
// create a CameraController.
_authService.checkTokenStatus(context);
_controller = CameraController(
// 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
// controller has finished initializing.
drawer: MyDrawer(),
body: FutureBuilder<void>(
future: _initializeControllerFuture,
builder: (context, snapshot) {

View File

@ -7,6 +7,7 @@ import 'package:image_picker/image_picker.dart';
import 'EditEvent.dart';
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import '../classes/auth_service.dart';
Future<void> main() async {
// Ensure that plugin services are initialized so that `availableCameras()`
@ -45,10 +46,13 @@ class CameraEdit extends StatefulWidget {
class CameraEditState extends State<CameraEdit> {
late CameraController _controller;
late Future<void> _initializeControllerFuture;
final AuthService _authService = AuthService();
@override
void initState() {
super.initState();
_authService.checkTokenStatus(context);
// To display the current output from the Camera,
// create a CameraController.
@ -95,7 +99,6 @@ class CameraEditState extends State<CameraEdit> {
// camera preview. Use a FutureBuilder to display a loading spinner until the
// controller has finished initializing.
drawer: MyDrawer(),
body: FutureBuilder<void>(
future: _initializeControllerFuture,
builder: (context, snapshot) {

View File

@ -16,6 +16,7 @@ import '../classes/MyDrawer.dart';
import '../classes/ad_helper.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
import '../classes/auth_service.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
@ -62,11 +63,14 @@ class DisplayPictureScreen extends StatefulWidget {
class DisplayPictureScreenState extends State<DisplayPictureScreen>
with ShowDescImageAdd, ShowAlertDialog, TickerProviderStateMixin {
BannerAd? _bannerAd;
final AuthService _authService = AuthService();
late AnimationController controller;
@override
void initState() {
super.initState();
_authService.checkTokenStatus(context);
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
setState(() {
_bannerAd = ad;

View File

@ -9,12 +9,9 @@ import 'package:textfield_tags/textfield_tags.dart';
import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import '../classes/events.dart';
import '../classes/MyDrawer.dart';
import 'ItemMenu.dart';
import 'CameraEdit.dart';
import 'package:camera/camera.dart';
import '../classes/alert.dart';
@ -24,6 +21,7 @@ import '../variable/globals.dart' as globals;
import '../classes/ad_helper.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
import '../classes/auth_service.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
@ -60,6 +58,8 @@ class EditEvent extends StatefulWidget {
class _EditEventState extends State<EditEvent>
with ShowAlertDialog, ShowEventDialog {
BannerAd? _bannerAd;
final AuthService _authService = AuthService();
TextEditingController inputName = TextEditingController();
TextEditingController inputDate = TextEditingController();
@ -315,6 +315,8 @@ class _EditEventState extends State<EditEvent>
@override
void initState() {
super.initState();
_authService.checkTokenStatus(context);
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
setState(() {
_bannerAd = ad;

View File

@ -18,6 +18,7 @@ import 'package:camera/camera.dart';
import '../classes/ad_helper.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
import '../classes/auth_service.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
@ -46,6 +47,7 @@ class ListItemMenu extends StatefulWidget {
class _MyHomePageState extends State<ListItemMenu> {
BannerAd? _bannerAd;
final AuthService _authService = AuthService();
Future<List<Events>> postsFuture = getPosts();
List<Events> filteredPosts = [];
@ -145,6 +147,7 @@ class _MyHomePageState extends State<ListItemMenu> {
@override
void initState() {
super.initState();
_authService.checkTokenStatus(context);
AdHelper.createBannerAd(() => setState(() {})).then((ad) {
setState(() {
_bannerAd = ad;