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> <selectionStates>
<SelectionState runConfigName="app"> <SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" /> <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"> <Target type="DEFAULT_BOOT">
<handle> <handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=RFCY20YA30P" /> <DeviceId pluginId="PhysicalDevice" identifier="serial=RFCY20YA30P" />

View file

@ -98,11 +98,19 @@ fun RecordingItem(
.fillMaxWidth() .fillMaxWidth()
.padding(bottom = 6.dp) .padding(bottom = 6.dp)
) { ) {
Text( Box(
text = recording.formattedDate, modifier = Modifier
style = MaterialTheme.typography.bodySmall, .clip(RoundedCornerShape(4.dp))
color = Color(0xFFA3D1FF) .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. // "NEW" badge — shown until the recording is first played.
if (recording.isNew) { if (recording.isNew) {
@ -184,7 +192,7 @@ fun RecordingItem(
Text( Text(
text = recording.artist, text = recording.artist,
style = MaterialTheme.typography.labelMedium, style = MaterialTheme.typography.labelMedium,
color = Color(0xFFE6A900), color = Color(0xFF61B5FF),
maxLines = 1, maxLines = 1,
overflow = TextOverflow.Ellipsis overflow = TextOverflow.Ellipsis
) )

View file

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