Add rebroadcast of profile

This commit is contained in:
Kgothatso Ngako
2026-07-10 23:59:11 +02:00
parent 82c4bdaf3b
commit 4afa7fed87
2 changed files with 35 additions and 1 deletions

View File

@@ -111,7 +111,7 @@ fun ShareProfileScreen(
modifier = Modifier.padding(innerPadding)
) {
LazyColumn(
modifier = Modifier.fillMaxWidth(),
modifier = Modifier.fillMaxWidth().weight(1f),
verticalArrangement = Arrangement.spacedBy(10.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
@@ -186,6 +186,23 @@ fun ShareProfileScreen(
}
}
Row(
modifier = Modifier.fillMaxWidth().padding(20.dp),
horizontalArrangement = Arrangement.Center
) {
Button(
onClick = {
shareProfileViewModel.rebroadcastProfile(
localNostrEvent = shareProfileUIState.localNostrEvent
)
}
) {
Text(
"Re-broadcast"
)
}
}
}
}
}

View File

@@ -8,6 +8,9 @@ import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory
import at.torch.compose.database.model.BroadcastNostrEventRequest
import at.torch.compose.database.model.intermdiate.LocalNostrEvent
import at.torch.compose.nostr.Relays
import at.torch.compose.ui.view.state.ShareProfileUIState
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent
@@ -48,6 +51,20 @@ class ShareProfileViewModel(
}
}
fun rebroadcastProfile(localNostrEvent: LocalNostrEvent) {
viewModelScope.launch(Dispatchers.IO) {
// Rebroadcast
nostrRepository.rescheduleBroadcastNostrEventRequests(
Relays.eventFinderRelaySet.map {
BroadcastNostrEventRequest(
nostrEventId = localNostrEvent.nostrEvent.id,
relayURL = it.url
)
}
)
}
}
companion object {
const val TAG = "ShareProfileViewModel"