user bottom sheet (#285)

* wip sheet

* longpress

* block wip

* blocking works
This commit is contained in:
callebtc
2025-08-23 00:26:18 +02:00
committed by GitHub
parent c9c02d993e
commit 49c42ba169
7 changed files with 446 additions and 22 deletions
@@ -209,12 +209,41 @@ class DataManager(private val context: Context) {
return _blockedUsers.contains(fingerprint)
}
// MARK: - Geohash Blocked Users Management
private val _geohashBlockedUsers = mutableSetOf<String>() // Set of nostr pubkey hex
val geohashBlockedUsers: Set<String> get() = _geohashBlockedUsers.toSet()
fun loadGeohashBlockedUsers() {
val savedGeohashBlockedUsers = prefs.getStringSet("geohash_blocked_users", emptySet()) ?: emptySet()
_geohashBlockedUsers.addAll(savedGeohashBlockedUsers)
}
fun saveGeohashBlockedUsers() {
prefs.edit().putStringSet("geohash_blocked_users", _geohashBlockedUsers).apply()
}
fun addGeohashBlockedUser(pubkeyHex: String) {
_geohashBlockedUsers.add(pubkeyHex)
saveGeohashBlockedUsers()
}
fun removeGeohashBlockedUser(pubkeyHex: String) {
_geohashBlockedUsers.remove(pubkeyHex)
saveGeohashBlockedUsers()
}
fun isGeohashUserBlocked(pubkeyHex: String): Boolean {
return _geohashBlockedUsers.contains(pubkeyHex)
}
// MARK: - Emergency Clear
fun clearAllData() {
_channelCreators.clear()
_favoritePeers.clear()
_blockedUsers.clear()
_geohashBlockedUsers.clear()
_channelMembers.clear()
prefs.edit().clear().apply()
}