Add rebroadcast of profile
This commit is contained in:
@@ -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"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user