2024-10-16 07:25:33 +00:00
|
|
|
import 'package:agrilink_vocpro/core/state/result_state.dart';
|
|
|
|
|
import 'package:agrilink_vocpro/domain/service/app_service.dart';
|
|
|
|
|
import 'package:flutter/foundation.dart';
|
2024-10-16 01:34:13 +00:00
|
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
|
|
|
|
|
|
class SettingProvider extends ChangeNotifier {
|
|
|
|
|
SettingProvider() {
|
|
|
|
|
_init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String userFullName = '';
|
|
|
|
|
String userEmail = '';
|
2024-11-04 02:18:27 +00:00
|
|
|
String userName = '';
|
2024-10-16 01:34:13 +00:00
|
|
|
|
|
|
|
|
void _init() async {
|
|
|
|
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
|
|
|
userFullName = prefs.getString('fullName') ?? 'unknown';
|
|
|
|
|
userEmail = prefs.getString('email') ?? 'unknown';
|
2024-11-04 02:18:27 +00:00
|
|
|
userName = prefs.getString('username') ?? 'unknown';
|
2024-10-16 01:34:13 +00:00
|
|
|
notifyListeners();
|
|
|
|
|
}
|
2024-10-16 07:25:33 +00:00
|
|
|
|
|
|
|
|
ResultState logoutState = ResultState.initial;
|
|
|
|
|
Future<void> logout() async {
|
|
|
|
|
logoutState = ResultState.loading;
|
|
|
|
|
notifyListeners();
|
|
|
|
|
try {
|
|
|
|
|
final result = await AppService().logout();
|
|
|
|
|
if (result.data == null) {
|
|
|
|
|
logoutState = ResultState.hasData;
|
|
|
|
|
} else {
|
|
|
|
|
logoutState = ResultState.error;
|
|
|
|
|
}
|
|
|
|
|
} catch (e) {
|
|
|
|
|
if (kDebugMode) {
|
|
|
|
|
print('Error logout: $e');
|
|
|
|
|
}
|
|
|
|
|
logoutState = ResultState.error;
|
|
|
|
|
}
|
|
|
|
|
notifyListeners();
|
|
|
|
|
}
|
2024-10-16 01:34:13 +00:00
|
|
|
}
|