diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewMessageTagger.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewMessageTagger.kt index e9812406b..9ac7dfe6b 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewMessageTagger.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewMessageTagger.kt @@ -21,10 +21,12 @@ package com.vitorpamplona.amethyst.ui.actions import androidx.compose.runtime.Immutable +import com.vitorpamplona.amethyst.model.AddressableNote import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.User import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.crypto.Nip01 +import com.vitorpamplona.quartz.nip01Core.tags.addressables.Address import com.vitorpamplona.quartz.nip19Bech32.Nip19Parser import com.vitorpamplona.quartz.nip19Bech32.bech32.Bech32 import com.vitorpamplona.quartz.nip19Bech32.bech32.bechToBytes @@ -77,7 +79,7 @@ class NewMessageTagger( is NEmbed -> addNoteToReplyTos(dao.getOrCreateNote(entity.event.id)) is NAddress -> { - val note = dao.checkGetOrCreateAddressableNote(entity.aTag()) + val note = dao.getOrCreateAddressableNote(entity.address()) if (note != null) { addNoteToReplyTos(note) } @@ -114,9 +116,9 @@ class NewMessageTagger( } is NAddress -> { - val note = dao.checkGetOrCreateAddressableNote(entity.aTag()) + val note = dao.getOrCreateAddressableNote(entity.address()) if (note != null) { - getNostrAddress(note.idNote(), results.restOfWord) + getNostrAddress(note.toNAddr(), results.restOfWord) } else { word } @@ -234,5 +236,5 @@ interface Dao { suspend fun getOrCreateNote(hex: String): Note - suspend fun checkGetOrCreateAddressableNote(hex: String): Note? + suspend fun getOrCreateAddressableNote(address: Address): AddressableNote? } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ClickableRoute.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ClickableRoute.kt index a3388f6ce..1e304ab32 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ClickableRoute.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ClickableRoute.kt @@ -205,7 +205,7 @@ private fun DisplayAddress( if (noteBase == null) { LaunchedEffect(key1 = nip19) { - accountViewModel.checkGetOrCreateAddressableNote(nip19.aTag()) { noteBase = it } + noteBase = accountViewModel.getOrCreateAddressableNote(nip19.address()) } } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt index 690928c22..3f5079dfc 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt @@ -1056,16 +1056,7 @@ class AccountViewModel( fun getNoteIfExists(hex: HexKey): Note? = LocalCache.getNoteIfExists(hex) - override suspend fun checkGetOrCreateAddressableNote(key: HexKey): AddressableNote? = LocalCache.checkGetOrCreateAddressableNote(key) - - fun checkGetOrCreateAddressableNote( - key: HexKey, - onResult: (AddressableNote?) -> Unit, - ) { - viewModelScope.launch(Dispatchers.IO) { onResult(checkGetOrCreateAddressableNote(key)) } - } - - suspend fun getOrCreateAddressableNote(key: Address): AddressableNote = LocalCache.getOrCreateAddressableNote(key) + override suspend fun getOrCreateAddressableNote(address: Address): AddressableNote = LocalCache.getOrCreateAddressableNote(address) fun getOrCreateAddressableNote( key: Address,