refactor(download): share download UI handling

This commit is contained in:
2026-06-05 15:29:06 +00:00
parent 85c53f8704
commit 88e8b3a41f
7 changed files with 117 additions and 115 deletions

View File

@@ -0,0 +1,34 @@
package hu.bbara.purefin.ui.common.button
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Close
import androidx.compose.material.icons.outlined.Download
import androidx.compose.material.icons.outlined.DownloadDone
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import hu.bbara.purefin.core.download.DownloadState
@Composable
fun DownloadActionButton(
downloadState: DownloadState,
onClick: () -> Unit,
modifier: Modifier = Modifier,
height: Dp = 48.dp,
) {
MediaActionButton(
backgroundColor = MaterialTheme.colorScheme.surface,
iconColor = MaterialTheme.colorScheme.onSurface,
icon = when (downloadState) {
is DownloadState.NotDownloaded -> Icons.Outlined.Download
is DownloadState.Downloading -> Icons.Outlined.Close
is DownloadState.Downloaded -> Icons.Outlined.DownloadDone
is DownloadState.Failed -> Icons.Outlined.Download
},
height = height,
modifier = modifier,
onClick = onClick
)
}