import 'package:shared_preferences/shared_preferences.dart';

/// Guarda em disco o uid de uma conta que acabou de se registar e ainda não
/// aceitou os Termos e Condições. Um simples valor em memória não chega:
/// se o sistema matar o processo entre o cadastro e a aceitação (comum em
/// Android quando a app fica em segundo plano), reabrir a app perderia o
/// estado "pendente" e o utilizador entraria direto na Home sem nunca ter
/// aceitado nada.
class TermsGatePrefs {
  static const String _kPendingUidKey = 'pending_terms_uid';

  static Future<String?> getPendingUid() async {
    final prefs = await SharedPreferences.getInstance();
    return prefs.getString(_kPendingUidKey);
  }

  static Future<void> setPendingUid(String uid) async {
    final prefs = await SharedPreferences.getInstance();
    await prefs.setString(_kPendingUidKey, uid);
  }

  static Future<void> clearPendingUid() async {
    final prefs = await SharedPreferences.getInstance();
    await prefs.remove(_kPendingUidKey);
  }
}
