|
|
@ -53,8 +53,8 @@ import kotlinx.collections.immutable.ImmutableList |
|
|
|
fun PollContentView( |
|
|
|
fun PollContentView( |
|
|
|
state: PollContentState, |
|
|
|
state: PollContentState, |
|
|
|
onSelectAnswer: (pollStartId: EventId, answerId: String) -> Unit, |
|
|
|
onSelectAnswer: (pollStartId: EventId, answerId: String) -> Unit, |
|
|
|
onPollEdit: (pollStartId: EventId) -> Unit, |
|
|
|
onEditPoll: (pollStartId: EventId) -> Unit, |
|
|
|
onPollEnd: (pollStartId: EventId) -> Unit, |
|
|
|
onEndPoll: (pollStartId: EventId) -> Unit, |
|
|
|
modifier: Modifier = Modifier, |
|
|
|
modifier: Modifier = Modifier, |
|
|
|
) { |
|
|
|
) { |
|
|
|
PollContentView( |
|
|
|
PollContentView( |
|
|
@ -65,9 +65,9 @@ fun PollContentView( |
|
|
|
isPollEditable = state.isPollEditable, |
|
|
|
isPollEditable = state.isPollEditable, |
|
|
|
isPollEnded = state.isPollEnded, |
|
|
|
isPollEnded = state.isPollEnded, |
|
|
|
isMine = state.isMine, |
|
|
|
isMine = state.isMine, |
|
|
|
onPollEdit = onPollEdit, |
|
|
|
onEditPoll = onEditPoll, |
|
|
|
onSelectAnswer = onSelectAnswer, |
|
|
|
onSelectAnswer = onSelectAnswer, |
|
|
|
onPollEnd = onPollEnd, |
|
|
|
onEndPoll = onEndPoll, |
|
|
|
modifier = modifier, |
|
|
|
modifier = modifier, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
@ -82,8 +82,8 @@ fun PollContentView( |
|
|
|
isPollEnded: Boolean, |
|
|
|
isPollEnded: Boolean, |
|
|
|
isMine: Boolean, |
|
|
|
isMine: Boolean, |
|
|
|
onSelectAnswer: (pollStartId: EventId, answerId: String) -> Unit, |
|
|
|
onSelectAnswer: (pollStartId: EventId, answerId: String) -> Unit, |
|
|
|
onPollEdit: (pollStartId: EventId) -> Unit, |
|
|
|
onEditPoll: (pollStartId: EventId) -> Unit, |
|
|
|
onPollEnd: (pollStartId: EventId) -> Unit, |
|
|
|
onEndPoll: (pollStartId: EventId) -> Unit, |
|
|
|
modifier: Modifier = Modifier, |
|
|
|
modifier: Modifier = Modifier, |
|
|
|
) { |
|
|
|
) { |
|
|
|
val votesCount = remember(answerItems) { answerItems.sumOf { it.votesCount } } |
|
|
|
val votesCount = remember(answerItems) { answerItems.sumOf { it.votesCount } } |
|
|
@ -92,12 +92,12 @@ fun PollContentView( |
|
|
|
eventId?.let { onSelectAnswer(it, pollAnswer.id) } |
|
|
|
eventId?.let { onSelectAnswer(it, pollAnswer.id) } |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
fun onPollEdit() { |
|
|
|
fun onEditPoll() { |
|
|
|
eventId?.let { onPollEdit(it) } |
|
|
|
eventId?.let { onEditPoll(it) } |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
fun onPollEnd() { |
|
|
|
fun onEndPoll() { |
|
|
|
eventId?.let { onPollEnd(it) } |
|
|
|
eventId?.let { onEndPoll(it) } |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var showConfirmation: Boolean by remember { mutableStateOf(false) } |
|
|
|
var showConfirmation: Boolean by remember { mutableStateOf(false) } |
|
|
@ -106,7 +106,7 @@ fun PollContentView( |
|
|
|
ConfirmationDialog( |
|
|
|
ConfirmationDialog( |
|
|
|
content = stringResource(id = CommonStrings.common_poll_end_confirmation), |
|
|
|
content = stringResource(id = CommonStrings.common_poll_end_confirmation), |
|
|
|
onSubmitClick = { |
|
|
|
onSubmitClick = { |
|
|
|
onPollEnd() |
|
|
|
onEndPoll() |
|
|
|
showConfirmation = false |
|
|
|
showConfirmation = false |
|
|
|
}, |
|
|
|
}, |
|
|
|
onDismiss = { showConfirmation = false }, |
|
|
|
onDismiss = { showConfirmation = false }, |
|
|
@ -131,8 +131,8 @@ fun PollContentView( |
|
|
|
CreatorView( |
|
|
|
CreatorView( |
|
|
|
isPollEnded = isPollEnded, |
|
|
|
isPollEnded = isPollEnded, |
|
|
|
isPollEditable = isPollEditable, |
|
|
|
isPollEditable = isPollEditable, |
|
|
|
onPollEdit = ::onPollEdit, |
|
|
|
onEditPoll = ::onEditPoll, |
|
|
|
onPollEnd = { showConfirmation = true }, |
|
|
|
onEndPoll = { showConfirmation = true }, |
|
|
|
modifier = Modifier.fillMaxWidth(), |
|
|
|
modifier = Modifier.fillMaxWidth(), |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
@ -219,21 +219,21 @@ private fun ColumnScope.UndisclosedPollBottomNotice() { |
|
|
|
private fun CreatorView( |
|
|
|
private fun CreatorView( |
|
|
|
isPollEnded: Boolean, |
|
|
|
isPollEnded: Boolean, |
|
|
|
isPollEditable: Boolean, |
|
|
|
isPollEditable: Boolean, |
|
|
|
onPollEdit: () -> Unit, |
|
|
|
onEditPoll: () -> Unit, |
|
|
|
onPollEnd: () -> Unit, |
|
|
|
onEndPoll: () -> Unit, |
|
|
|
modifier: Modifier = Modifier |
|
|
|
modifier: Modifier = Modifier |
|
|
|
) { |
|
|
|
) { |
|
|
|
when { |
|
|
|
when { |
|
|
|
isPollEditable -> |
|
|
|
isPollEditable -> |
|
|
|
Button( |
|
|
|
Button( |
|
|
|
text = stringResource(id = CommonStrings.action_edit_poll), |
|
|
|
text = stringResource(id = CommonStrings.action_edit_poll), |
|
|
|
onClick = onPollEdit, |
|
|
|
onClick = onEditPoll, |
|
|
|
modifier = modifier, |
|
|
|
modifier = modifier, |
|
|
|
) |
|
|
|
) |
|
|
|
!isPollEnded -> |
|
|
|
!isPollEnded -> |
|
|
|
Button( |
|
|
|
Button( |
|
|
|
text = stringResource(id = CommonStrings.action_end_poll), |
|
|
|
text = stringResource(id = CommonStrings.action_end_poll), |
|
|
|
onClick = onPollEnd, |
|
|
|
onClick = onEndPoll, |
|
|
|
modifier = modifier, |
|
|
|
modifier = modifier, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
@ -251,8 +251,8 @@ internal fun PollContentViewUndisclosedPreview() = ElementPreview { |
|
|
|
isPollEditable = false, |
|
|
|
isPollEditable = false, |
|
|
|
isMine = false, |
|
|
|
isMine = false, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onPollEdit = {}, |
|
|
|
onEditPoll = {}, |
|
|
|
onPollEnd = {}, |
|
|
|
onEndPoll = {}, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -268,8 +268,8 @@ internal fun PollContentViewDisclosedPreview() = ElementPreview { |
|
|
|
isPollEditable = false, |
|
|
|
isPollEditable = false, |
|
|
|
isMine = false, |
|
|
|
isMine = false, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onPollEdit = {}, |
|
|
|
onEditPoll = {}, |
|
|
|
onPollEnd = {}, |
|
|
|
onEndPoll = {}, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -285,8 +285,8 @@ internal fun PollContentViewEndedPreview() = ElementPreview { |
|
|
|
isPollEditable = false, |
|
|
|
isPollEditable = false, |
|
|
|
isMine = false, |
|
|
|
isMine = false, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onPollEdit = {}, |
|
|
|
onEditPoll = {}, |
|
|
|
onPollEnd = {}, |
|
|
|
onEndPoll = {}, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -302,8 +302,8 @@ internal fun PollContentViewCreatorEditablePreview() = ElementPreview { |
|
|
|
isPollEditable = true, |
|
|
|
isPollEditable = true, |
|
|
|
isMine = true, |
|
|
|
isMine = true, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onPollEdit = {}, |
|
|
|
onEditPoll = {}, |
|
|
|
onPollEnd = {}, |
|
|
|
onEndPoll = {}, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -319,8 +319,8 @@ internal fun PollContentViewCreatorPreview() = ElementPreview { |
|
|
|
isPollEditable = false, |
|
|
|
isPollEditable = false, |
|
|
|
isMine = true, |
|
|
|
isMine = true, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onPollEdit = {}, |
|
|
|
onEditPoll = {}, |
|
|
|
onPollEnd = {}, |
|
|
|
onEndPoll = {}, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -336,7 +336,7 @@ internal fun PollContentViewCreatorEndedPreview() = ElementPreview { |
|
|
|
isPollEditable = false, |
|
|
|
isPollEditable = false, |
|
|
|
isMine = true, |
|
|
|
isMine = true, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onSelectAnswer = { _, _ -> }, |
|
|
|
onPollEdit = {}, |
|
|
|
onEditPoll = {}, |
|
|
|
onPollEnd = {}, |
|
|
|
onEndPoll = {}, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|