More polishing

This commit is contained in:
OmniaX-Dev 2026-06-24 12:52:32 +02:00
parent 592ceb4b2f
commit 4670a42d31
3 changed files with 37 additions and 19 deletions

View file

@ -4,7 +4,7 @@
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2026-06-24T07:49:03.527980803Z">
<DropdownSelection timestamp="2026-06-24T10:28:35.006754299Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=RFCY20YA30P" />

View file

@ -98,11 +98,19 @@ fun RecordingItem(
.fillMaxWidth()
.padding(bottom = 6.dp)
) {
Text(
text = recording.formattedDate,
style = MaterialTheme.typography.bodySmall,
color = Color(0xFFA3D1FF)
)
Box(
modifier = Modifier
.clip(RoundedCornerShape(4.dp))
.background(Color(0xFF054D00))
.padding(horizontal = 6.dp, vertical = 1.dp)
) {
Text(
text = recording.formattedDate,
style = MaterialTheme.typography.labelSmall,
fontWeight = FontWeight.Bold,
color = Color(0xFFCCCCCC)
)
}
// "NEW" badge — shown until the recording is first played.
if (recording.isNew) {
@ -184,7 +192,7 @@ fun RecordingItem(
Text(
text = recording.artist,
style = MaterialTheme.typography.labelMedium,
color = Color(0xFFE6A900),
color = Color(0xFF61B5FF),
maxLines = 1,
overflow = TextOverflow.Ellipsis
)

View file

@ -52,6 +52,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
@ -202,7 +203,7 @@ fun RecordingListScreen(
Icon(
imageVector = Icons.Default.Shuffle,
contentDescription = stringResource(R.string.cd_shuffle),
tint = if (shuffle) MaterialTheme.colorScheme.primary
tint = if (shuffle) Color(0xFF70D66B)
else MaterialTheme.colorScheme.onSurfaceVariant
)
}
@ -214,7 +215,7 @@ fun RecordingListScreen(
contentDescription = stringResource(R.string.cd_repeat),
tint = if (repeatMode == RepeatMode.OFF)
MaterialTheme.colorScheme.onSurfaceVariant
else MaterialTheme.colorScheme.primary
else Color(0xFF70D66B)
)
}
// Search & filter
@ -222,7 +223,7 @@ fun RecordingListScreen(
Icon(
imageVector = Icons.Default.Search,
contentDescription = stringResource(R.string.cd_search_filter),
tint = if (hasActiveFilter || showControls) MaterialTheme.colorScheme.primary
tint = if (hasActiveFilter || showControls) Color(0xFF70D66B)
else MaterialTheme.colorScheme.onSurfaceVariant
)
}
@ -301,7 +302,8 @@ fun RecordingListScreen(
) {
Box {
TextButton(onClick = { showSortMenu = true }) {
Text(stringResource(sortMode.labelRes), style = MaterialTheme.typography.labelMedium)
Text(stringResource(sortMode.labelRes), style = MaterialTheme.typography.labelMedium,
color = Color(0xFF70D66B))
}
DropdownMenu(expanded = showSortMenu, onDismissRequest = { showSortMenu = false }) {
SortMode.entries.forEach { mode ->
@ -325,7 +327,8 @@ fun RecordingListScreen(
Text(
if (hiddenArtists.isEmpty()) stringResource(R.string.filter_artists)
else stringResource(R.string.filter_artists_hidden, hiddenArtists.size),
style = MaterialTheme.typography.labelMedium
style = MaterialTheme.typography.labelMedium,
color = Color(0xFF70D66B)
)
}
@ -333,7 +336,8 @@ fun RecordingListScreen(
Text(
if (hiddenYears.isEmpty()) stringResource(R.string.filter_years)
else stringResource(R.string.filter_years_hidden, hiddenYears.size),
style = MaterialTheme.typography.labelMedium
style = MaterialTheme.typography.labelMedium,
color = Color(0xFF70D66B)
)
}
}
@ -346,10 +350,12 @@ fun RecordingListScreen(
Column(modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp)) {
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
TextButton(onClick = { vm.showAllArtists() }) {
Text(stringResource(R.string.filter_all), style = MaterialTheme.typography.labelSmall)
Text(stringResource(R.string.filter_all), style = MaterialTheme.typography.labelSmall,
color = Color(0xFF70D66B))
}
TextButton(onClick = { vm.hideAllArtists() }) {
Text(stringResource(R.string.filter_none), style = MaterialTheme.typography.labelSmall)
Text(stringResource(R.string.filter_none), style = MaterialTheme.typography.labelSmall,
color = Color(0xFF70D66B))
}
}
FlowRow(
@ -360,7 +366,8 @@ fun RecordingListScreen(
FilterChip(
selected = artist !in hiddenArtists,
onClick = { vm.toggleArtist(artist) },
label = { Text(artist, style = MaterialTheme.typography.labelSmall) }
label = { Text(artist, style = MaterialTheme.typography.labelSmall,
color = Color(0xFF70D66B)) }
)
}
}
@ -375,10 +382,12 @@ fun RecordingListScreen(
Column(modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp)) {
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
TextButton(onClick = { vm.showAllYears() }) {
Text(stringResource(R.string.filter_all), style = MaterialTheme.typography.labelSmall)
Text(stringResource(R.string.filter_all), style = MaterialTheme.typography.labelSmall,
color = Color(0xFF70D66B))
}
TextButton(onClick = { vm.hideAllYears() }) {
Text(stringResource(R.string.filter_none), style = MaterialTheme.typography.labelSmall)
Text(stringResource(R.string.filter_none), style = MaterialTheme.typography.labelSmall,
color = Color(0xFF70D66B))
}
}
FlowRow(
@ -389,7 +398,8 @@ fun RecordingListScreen(
FilterChip(
selected = year !in hiddenYears,
onClick = { vm.toggleYear(year) },
label = { Text(year.toString(), style = MaterialTheme.typography.labelSmall) }
label = { Text(year.toString(), style = MaterialTheme.typography.labelSmall,
color = Color(0xFF70D66B)) }
)
}
}