import 'package:shared_preferences/shared_preferences.dart'; /// Persisted app settings + employee session. class Settings { static const _kToken = 'emp_token'; static const _kName = 'emp_name'; static const _kRole = 'emp_role'; /// Scalar360 API. Fixed per build (not shown to or changed by the user); a test build points at demo with /// `--dart-define=API_BASE_URL=https://demo.scalar360.in`. static const baseUrl = String.fromEnvironment('API_BASE_URL', defaultValue: 'https://api.scalar360.com'); late SharedPreferences _prefs; Future load() async => _prefs = await SharedPreferences.getInstance(); 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); } }