NTP-12345 | Handle null check in nudge CollapsedState (#13983)
This commit is contained in:
@@ -25,6 +25,7 @@ data class NudgeData(
|
||||
|
||||
enum class NudgeStatus {
|
||||
SUCCESS,
|
||||
IN_PROGRESS,
|
||||
DEFAULT,
|
||||
DELETED
|
||||
}
|
||||
|
||||
@@ -49,45 +49,48 @@ fun NudgeContainerCollapsedState(
|
||||
onNudgeEvent: (event: NudgeEvent) -> Unit,
|
||||
onNudgeEffect: (effect: NudgeEffect) -> Unit
|
||||
) {
|
||||
Box(Modifier.fillMaxWidth()) {
|
||||
AnimatedContent(
|
||||
targetState = filterDeletedNudges(nudgeState).firstOrNull(),
|
||||
contentKey = { it?.nudgeId },
|
||||
transitionSpec = {
|
||||
getCollapsedNudgeTransitionSpec(
|
||||
nudgeState,
|
||||
this.initialState?.nudgeId.orEmpty()
|
||||
) using
|
||||
SizeTransform { old, new ->
|
||||
keyframes {
|
||||
IntSize(new.width, old.height) at
|
||||
COLLAPSED_NUDGE_ELEMENT_TRANSITION_DURATION
|
||||
durationMillis = COLLAPSED_NUDGE_ELEMENT_TRANSITION_DURATION
|
||||
val filteredNudge = filterDeletedNudges(nudgeState).firstOrNull()
|
||||
if (filteredNudge != null) {
|
||||
Box(Modifier.fillMaxWidth()) {
|
||||
AnimatedContent(
|
||||
targetState = filteredNudge,
|
||||
contentKey = { it.nudgeId },
|
||||
transitionSpec = {
|
||||
getCollapsedNudgeTransitionSpec(
|
||||
nudgeState,
|
||||
this.initialState.nudgeId.orEmpty()
|
||||
) using
|
||||
SizeTransform { old, new ->
|
||||
keyframes {
|
||||
IntSize(new.width, old.height) at
|
||||
COLLAPSED_NUDGE_ELEMENT_TRANSITION_DURATION
|
||||
durationMillis = COLLAPSED_NUDGE_ELEMENT_TRANSITION_DURATION
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
label = REPLACE_NUDGE_IN_COLLAPSED_STATE,
|
||||
) {
|
||||
it?.let {
|
||||
NudgeUI(
|
||||
modifier = Modifier.padding(top = 13.dp),
|
||||
nudgeUitronRenderer = nudgeUitronRenderer,
|
||||
nudgeData = it,
|
||||
onNudgeEvent = onNudgeEvent,
|
||||
enableFrontLayerElevation = true,
|
||||
onNudgeEffect = onNudgeEffect
|
||||
)
|
||||
},
|
||||
label = REPLACE_NUDGE_IN_COLLAPSED_STATE,
|
||||
) {
|
||||
it.let {
|
||||
NudgeUI(
|
||||
modifier = Modifier.padding(top = 13.dp),
|
||||
nudgeUitronRenderer = nudgeUitronRenderer,
|
||||
nudgeData = it,
|
||||
onNudgeEvent = onNudgeEvent,
|
||||
enableFrontLayerElevation = true,
|
||||
onNudgeEffect = onNudgeEffect
|
||||
)
|
||||
}
|
||||
}
|
||||
NudgeMiddlePill(
|
||||
nudgeCount = filterDeletedNudges(nudgeState).size.orZero(),
|
||||
onClick = {
|
||||
onNudgeEvent(NudgeEvent.UpdateNudgeExpandedState(true))
|
||||
onNudgeEffect(
|
||||
NudgeEffect.TriggerClickStreamEvent(eventName = "nudge_middle_pill_clicked")
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
NudgeMiddlePill(
|
||||
nudgeCount = filterDeletedNudges(nudgeState).size.orZero(),
|
||||
onClick = {
|
||||
onNudgeEvent(NudgeEvent.UpdateNudgeExpandedState(true))
|
||||
onNudgeEffect(
|
||||
NudgeEffect.TriggerClickStreamEvent(eventName = "nudge_middle_pill_clicked")
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user