fix(US-06): title bigger and yellow, circle always yellow, circle above BPM
This commit is contained in:
parent
de9674a0d0
commit
628129977f
1 changed files with 25 additions and 24 deletions
|
|
@ -120,12 +120,35 @@ fun PacerScreen(viewModel: PacerViewModel, modifier: Modifier = Modifier) {
|
||||||
// Title
|
// Title
|
||||||
Text(
|
Text(
|
||||||
text = "PACER",
|
text = "PACER",
|
||||||
fontSize = 13.sp,
|
fontSize = 28.sp,
|
||||||
|
fontWeight = FontWeight.Bold,
|
||||||
fontFamily = JetBrainsMono,
|
fontFamily = JetBrainsMono,
|
||||||
color = FG.copy(alpha = 0.4f),
|
color = ACCENT,
|
||||||
letterSpacing = 5.sp
|
letterSpacing = 5.sp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Pulse ring + ripple + center dot
|
||||||
|
Box(contentAlignment = Alignment.Center, modifier = Modifier.size(80.dp)) {
|
||||||
|
Canvas(modifier = Modifier.fillMaxSize()) {
|
||||||
|
drawCircle(
|
||||||
|
color = ACCENT.copy(alpha = rippleAlpha.value),
|
||||||
|
radius = (size.minDimension / 2f) * rippleScale.value,
|
||||||
|
style = Stroke(width = 2.dp.toPx())
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Box(
|
||||||
|
modifier = Modifier
|
||||||
|
.size(50.dp)
|
||||||
|
.border(2.dp, ACCENT, CircleShape)
|
||||||
|
)
|
||||||
|
Box(
|
||||||
|
modifier = Modifier
|
||||||
|
.size(12.dp)
|
||||||
|
.scale(dotScale.value)
|
||||||
|
.background(ACCENT, CircleShape)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
// BPM number
|
// BPM number
|
||||||
Column(horizontalAlignment = Alignment.CenterHorizontally) {
|
Column(horizontalAlignment = Alignment.CenterHorizontally) {
|
||||||
Text(
|
Text(
|
||||||
|
|
@ -145,28 +168,6 @@ fun PacerScreen(viewModel: PacerViewModel, modifier: Modifier = Modifier) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pulse ring + ripple + center dot
|
|
||||||
Box(contentAlignment = Alignment.Center, modifier = Modifier.size(80.dp)) {
|
|
||||||
Canvas(modifier = Modifier.fillMaxSize()) {
|
|
||||||
drawCircle(
|
|
||||||
color = ACCENT.copy(alpha = rippleAlpha.value),
|
|
||||||
radius = (size.minDimension / 2f) * rippleScale.value,
|
|
||||||
style = Stroke(width = 2.dp.toPx())
|
|
||||||
)
|
|
||||||
}
|
|
||||||
Box(
|
|
||||||
modifier = Modifier
|
|
||||||
.size(50.dp)
|
|
||||||
.border(2.dp, if (isPlaying) ACCENT else DIM, CircleShape)
|
|
||||||
)
|
|
||||||
Box(
|
|
||||||
modifier = Modifier
|
|
||||||
.size(12.dp)
|
|
||||||
.scale(dotScale.value)
|
|
||||||
.background(if (isPlaying) ACCENT else DIM, CircleShape)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Start/Stop button
|
// Start/Stop button
|
||||||
OutlinedButton(
|
OutlinedButton(
|
||||||
onClick = { viewModel.togglePlayback() },
|
onClick = { viewModel.togglePlayback() },
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue