import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../config/size.dart'; import '../models/auth/current_user_response.dart'; class Utils extends ChangeNotifier { static final Utils _utils = Utils._internal(); CurrentUser? user; bool isValidToken = false; SharedPreferences? prefs; bool? svgError; bool initialized = false; late int userId; // late String name; factory Utils() { return _utils; } setUser(userInfo) { user = userInfo; isValidToken = true; notifyListeners(); } double hm = 0; double wm = 0; double tm = 0; setPrefs() async { var p = await SharedPreferences.getInstance(); prefs = p; // userId = p.getInt('userId')!; // name = p.getString('userName')!; notifyListeners(); } updateUserInfo(CurrentUser update) { user = update; notifyListeners(); } initSize() { hm = SizeConfig.heightMultiplier; wm = SizeConfig.widthMultiplier; tm = SizeConfig.textMultiplier; notifyListeners(); } bool isTokenExpired(int tokenExpiryDate) { DateTime now = DateTime.now(); DateTime expiryDate = DateTime.fromMillisecondsSinceEpoch(tokenExpiryDate); return now.isAfter(expiryDate); } setSvgError(bool er) { svgError = er; notifyListeners(); } setInitialized(bool init) { initialized = init; notifyListeners(); } Utils._internal(); } final util = Utils();