Skip to content

Commit 36e9891

Browse files
sentinelwebsentinelweb
authored andcommitted
#496 - animate fade between transfer queue and selected transfer
1 parent e8fc646 commit 36e9891

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

shared/src/commonMain/kotlin/uk/co/sentinelweb/cuer/app/ui/filebrowser/transfers/TransfersComposeables.kt

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package uk.co.sentinelweb.cuer.app.ui.filebrowser.transfers
22

3+
import androidx.compose.animation.Crossfade
4+
import androidx.compose.animation.core.tween
35
import androidx.compose.foundation.*
46
import androidx.compose.foundation.interaction.MutableInteractionSource
57
import androidx.compose.foundation.interaction.collectIsHoveredAsState
@@ -125,13 +127,19 @@ object TransfersComposeables {
125127

126128
@Composable
127129
fun TransfersView(model: TransfersContract.Model, viewModel: ViewModel) {
128-
when (model) {
129-
is TransfersContract.Model.Selected -> {
130-
TransferView(model, viewModel)
131-
}
130+
Crossfade(
131+
targetState = model,
132+
animationSpec = tween(durationMillis = 300)
133+
) { currentModel ->
134+
135+
when (model) {
136+
is TransfersContract.Model.Selected -> {
137+
TransferView(model, viewModel)
138+
}
132139

133-
is TransfersContract.Model.Queue -> {
134-
TransfersQueueView(model.queue, viewModel)
140+
is TransfersContract.Model.Queue -> {
141+
TransfersQueueView(model.queue, viewModel)
142+
}
135143
}
136144
}
137145
}

0 commit comments

Comments
 (0)