fixed api requests from sidemenu
This commit is contained in:
		
							parent
							
								
									ec498eb0f7
								
							
						
					
					
						commit
						5b38559e1c
					
				| @ -2,13 +2,16 @@ import 'package:flutter/material.dart'; | ||||
| import 'package:shared_preferences/shared_preferences.dart'; | ||||
| import 'package:http/http.dart' as http; | ||||
| import 'dart:convert'; | ||||
| import 'dart:developer'; | ||||
| 
 | ||||
| enum ApiService { | ||||
|   auth, | ||||
|   app, | ||||
| } | ||||
| 
 | ||||
| Future<String?> request(BuildContext context, ApiService service, String method, String path, Object? body) async { | ||||
| Future<String?> request(BuildContext context, ApiService service, String method, | ||||
|     String path, Object? body) async { | ||||
|   log('hello'); | ||||
|   final messenger = ScaffoldMessenger.of(context); | ||||
| 
 | ||||
|   final host = switch (service) { | ||||
| @ -16,6 +19,9 @@ Future<String?> request(BuildContext context, ApiService service, String method, | ||||
|     ApiService.app => const String.fromEnvironment('APP_SERVICE_HOST'), | ||||
|   }; | ||||
| 
 | ||||
|   log('hello'); | ||||
|   log(const String.fromEnvironment('AUTH_SERVICE_HOST')); | ||||
| 
 | ||||
|   final http.Response response; | ||||
| 
 | ||||
|   try { | ||||
| @ -36,7 +42,8 @@ Future<String?> request(BuildContext context, ApiService service, String method, | ||||
|       ); | ||||
|     } | ||||
|   } catch (_) { | ||||
|     messenger.showSnackBar(const SnackBar(content: Text('Unable to connect to server'))); | ||||
|     messenger.showSnackBar( | ||||
|         const SnackBar(content: Text('Unable to connect to server'))); | ||||
|     return null; | ||||
|   } | ||||
| 
 | ||||
| @ -45,7 +52,8 @@ Future<String?> request(BuildContext context, ApiService service, String method, | ||||
|       final json = jsonDecode(response.body); | ||||
|       messenger.showSnackBar(SnackBar(content: Text(json['message']))); | ||||
|     } catch (_) { | ||||
|       messenger.showSnackBar(SnackBar(content: Text('Something went wrong (HTTP ${response.statusCode})'))); | ||||
|       messenger.showSnackBar(SnackBar( | ||||
|           content: Text('Something went wrong (HTTP ${response.statusCode})'))); | ||||
|     } | ||||
|     return null; | ||||
|   } | ||||
| @ -67,12 +75,14 @@ Future<bool> isLoggedIn(BuildContext context) async { | ||||
|     final payload = jsonDecode(String.fromCharCodes(base64Decode(base64))); | ||||
| 
 | ||||
|     if (payload['exp'] < DateTime.now().millisecondsSinceEpoch / 1000) { | ||||
|       messenger.showSnackBar(const SnackBar(content: Text('Token expired, please sign in again'))); | ||||
|       messenger.showSnackBar( | ||||
|           const SnackBar(content: Text('Token expired, please sign in again'))); | ||||
|       prefs.remove('token'); | ||||
|       return false; | ||||
|     } | ||||
|   } catch (e) { | ||||
|     messenger.showSnackBar(const SnackBar(content: Text('Invalid token, please sign in again'))); | ||||
|     messenger.showSnackBar( | ||||
|         const SnackBar(content: Text('Invalid token, please sign in again'))); | ||||
|     prefs.remove('token'); | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:mobile/base/sidemenu.dart'; | ||||
| import 'package:shared_preferences/shared_preferences.dart'; | ||||
| import 'register.dart'; | ||||
| import 'api.dart' as api; | ||||
| 
 | ||||
| class LoginPage extends StatefulWidget { | ||||
| @ -30,7 +29,7 @@ class _LoginPageState extends State<LoginPage> { | ||||
|     if (mounted) { | ||||
|       ScaffoldMessenger.of(context).showSnackBar( | ||||
|           const SnackBar(content: Text('Successfully logged in'))); | ||||
|       Navigator.pop(context); | ||||
|       Navigator.pushReplacementNamed(context, '/home'); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
| @ -57,10 +56,8 @@ class _LoginPageState extends State<LoginPage> { | ||||
|               const SizedBox(height: 10), | ||||
|               TextButton( | ||||
|                   child: const Text('Register account'), | ||||
|                   onPressed: () => Navigator.pushReplacement( | ||||
|                       context, | ||||
|                       MaterialPageRoute( | ||||
|                           builder: (context) => const RegisterPage()))), | ||||
|                   onPressed: () => | ||||
|                       Navigator.pushReplacementNamed(context, '/register')), | ||||
|             ]), | ||||
|           ), | ||||
|         ), | ||||
|  | ||||
| @ -1,6 +1,5 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:mobile/base/sidemenu.dart'; | ||||
| import 'login.dart'; | ||||
| import 'api.dart' as api; | ||||
| 
 | ||||
| class RegisterPage extends StatefulWidget { | ||||
| @ -28,8 +27,7 @@ class _RegisterPageState extends State<RegisterPage> { | ||||
|     if (mounted) { | ||||
|       ScaffoldMessenger.of(context).showSnackBar(const SnackBar( | ||||
|           content: Text('Successfully registered, please login'))); | ||||
|       Navigator.pushReplacement( | ||||
|           context, MaterialPageRoute(builder: (context) => const LoginPage())); | ||||
|       Navigator.pushReplacementNamed(context, '/login'); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
| @ -60,10 +58,7 @@ class _RegisterPageState extends State<RegisterPage> { | ||||
|               const SizedBox(height: 10), | ||||
|               TextButton( | ||||
|                   child: const Text('Login'), | ||||
|                   onPressed: () => Navigator.pushReplacement( | ||||
|                       context, | ||||
|                       MaterialPageRoute( | ||||
|                           builder: (context) => const LoginPage()))), | ||||
|                   onPressed: () => Navigator.pushReplacementNamed(context, '/login')), | ||||
|             ]), | ||||
|           ), | ||||
|         ), | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user