Merge branch 'vitorpamplona:main' into unifiedpush-updates

This commit is contained in:
KotlinGeekDev
2024-05-30 15:07:48 +00:00
committed by GitHub
8 changed files with 104 additions and 43 deletions
@@ -2161,17 +2161,6 @@ class Account(
return LocalCache.getOrCreateAddressableNote(aTag)
}
fun getFileServersNote(): AddressableNote {
val aTag =
ATag(
FileServersEvent.KIND,
userProfile().pubkeyHex,
"",
null,
)
return LocalCache.getOrCreateAddressableNote(aTag)
}
fun getBlockList(): PeopleListEvent? {
return getBlockListNote().event as? PeopleListEvent
}
@@ -2180,10 +2169,6 @@ class Account(
return getMuteListNote().event as? MuteListEvent
}
fun getFileServersList(): FileServersEvent? {
return getFileServersNote().event as? FileServersEvent
}
fun hideWord(word: String) {
val muteList = getMuteList()
@@ -2688,10 +2673,7 @@ class Account(
fun saveSearchRelayList(searchRelays: List<String>) {
if (!isWriteable()) return
val relayListForSearch =
LocalCache.getOrCreateAddressableNote(
SearchRelayListEvent.createAddressATag(signer.pubKey),
).event as? SearchRelayListEvent
val relayListForSearch = getSearchRelayList()
if (relayListForSearch != null && relayListForSearch.tags.isNotEmpty()) {
SearchRelayListEvent.updateRelayList(
@@ -2730,10 +2712,7 @@ class Account(
fun sendNip65RelayList(relays: List<AdvertisedRelayListEvent.AdvertisedRelayInfo>) {
if (!isWriteable()) return
val nip65RelayList =
LocalCache.getOrCreateAddressableNote(
AdvertisedRelayListEvent.createAddressATag(signer.pubKey),
).event as? AdvertisedRelayListEvent
val nip65RelayList = getNIP65RelayList()
if (nip65RelayList != null) {
AdvertisedRelayListEvent.updateRelayList(
@@ -2755,6 +2734,43 @@ class Account(
}
}
fun getFileServersList(): FileServersEvent? {
return getFileServersNote().event as? FileServersEvent
}
fun getFileServersListFlow(): StateFlow<NoteState> {
return getFileServersNote().flow().metadata.stateFlow
}
fun getFileServersNote(): AddressableNote {
return LocalCache.getOrCreateAddressableNote(FileServersEvent.createAddressATag(userProfile().pubkeyHex))
}
fun sendFileServersList(servers: List<String>) {
if (!isWriteable()) return
val serverList = getFileServersList()
if (serverList != null && serverList.tags.isNotEmpty()) {
FileServersEvent.updateRelayList(
earlierVersion = serverList,
relays = servers,
signer = signer,
) {
Client.send(it)
LocalCache.justConsume(it, null)
}
} else {
FileServersEvent.createFromScratch(
relays = servers,
signer = signer,
) {
Client.send(it)
LocalCache.justConsume(it, null)
}
}
}
fun setHideDeleteRequestDialog() {
hideDeleteRequestDialog = true
saveable.invalidateData()
@@ -45,6 +45,7 @@ import com.vitorpamplona.quartz.events.DraftEvent
import com.vitorpamplona.quartz.events.EmojiPackSelectionEvent
import com.vitorpamplona.quartz.events.Event
import com.vitorpamplona.quartz.events.EventInterface
import com.vitorpamplona.quartz.events.FileServersEvent
import com.vitorpamplona.quartz.events.GenericRepostEvent
import com.vitorpamplona.quartz.events.GiftWrapEvent
import com.vitorpamplona.quartz.events.GitIssueEvent
@@ -123,6 +124,7 @@ object NostrAccountDataSource : NostrDataSource("AccountData") {
AdvertisedRelayListEvent.KIND,
ChatMessageRelayListEvent.KIND,
SearchRelayListEvent.KIND,
FileServersEvent.KIND,
MuteListEvent.KIND,
PeopleListEvent.KIND,
),
@@ -42,7 +42,6 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
import androidx.compose.material3.Text
import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi
import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
@@ -80,7 +79,6 @@ import com.vitorpamplona.amethyst.ui.theme.placeholderText
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@OptIn(ExperimentalMaterial3WindowSizeClassApi::class)
@Composable
fun ChatroomListScreen(
knownFeedViewModel: NostrChatroomListKnownFeedViewModel,