VancedManager/app/src/main/java/com/vanced/manager/ui/component/progressindicator/ManagerProgressIndicator.kt

44 lines
1.3 KiB
Kotlin

package com.vanced.manager.ui.component.progressindicator
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.material.LinearProgressIndicator
import androidx.compose.material.ProgressIndicatorDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.composed
import androidx.compose.ui.draw.clip
import androidx.compose.ui.unit.dp
import com.vanced.manager.ui.component.color.managerAccentColor
import com.vanced.manager.ui.theme.MediumShape
private val progressBarModifier = Modifier.composed {
then(height(5.dp))
.then(fillMaxWidth())
.then(clip(MediumShape))
}
@Composable
fun ManagerProgressIndicator() {
LinearProgressIndicator(
modifier = progressBarModifier,
color = managerAccentColor()
)
}
@Composable
fun ManagerProgressIndicator(
progress: Float
) {
val animatedProgress by animateFloatAsState(
targetValue = progress,
animationSpec = ProgressIndicatorDefaults.ProgressAnimationSpec
)
LinearProgressIndicator(
modifier = progressBarModifier,
color = managerAccentColor(),
progress = animatedProgress
)
}