import 'package:shared_preferences/shared_preferences.dart'; /// Persisted app settings + employee session. class Settings { static const _kBaseUrl = 'base_url'; static const _kToken = 'emp_token'; static const _kName = 'emp_name'; static const _kRole = 'emp_role'; static const defaultBaseUrl = 'https://api.scalar360.in'; late SharedPreferences _prefs; Future load() async => _prefs = await SharedPreferences.getInstance(); String get baseUrl => (_prefs.getString(_kBaseUrl) ?? defaultBaseUrl).trim(); set baseUrl(String v) => _prefs.setString(_kBaseUrl, v.trim()); String? get token => _prefs.getString(_kToken); String? get name => _prefs.getString(_kName); String get role => _prefs.getString(_kRole) ?? 'EMPLOYEE'; bool get isManager => role == 'MANAGER'; bool get isLoggedIn => (token ?? '').isNotEmpty; Future saveSession({required String token, String? name, String? role}) async { await _prefs.setString(_kToken, token); if (name != null) await _prefs.setString(_kName, name); if (role != null) await _prefs.setString(_kRole, role); } Future clearSession() async { await _prefs.remove(_kToken); await _prefs.remove(_kName); await _prefs.remove(_kRole); } }