diff --git a/composeApp/src/commonMain/composeResources/values/strings.xml b/composeApp/src/commonMain/composeResources/values/strings.xml index 9341f547..e9b01eb9 100644 --- a/composeApp/src/commonMain/composeResources/values/strings.xml +++ b/composeApp/src/commonMain/composeResources/values/strings.xml @@ -187,5 +187,9 @@ Connected in %1$d ms Failed: %1$s Placeholder broker — configure your own to self-host + + Go to album + Sleep timer + Track details diff --git a/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/Greeting.kt b/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/Greeting.kt deleted file mode 100644 index 5d53f202..00000000 --- a/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/Greeting.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2026 Kingkor Roy Tirtho and Spotube Contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package dev.krtirtho.spotube - -class Greeting { - private val platform = getPlatform() - - fun greet(): String { - return "Hello, ${platform.name}!" - } -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/modules/shell/AppLargePlayer.kt b/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/modules/shell/AppLargePlayer.kt index 80916351..f9032b9a 100644 --- a/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/modules/shell/AppLargePlayer.kt +++ b/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/modules/shell/AppLargePlayer.kt @@ -82,7 +82,9 @@ import dev.krtirtho.spotube.modules.saved_tracks.SAVED_TRACKS_COLLECTION_ID import dev.krtirtho.spotube.modules.saved_tracks.SavedTracksViewModel import dev.krtirtho.spotube.resources.iconsax.Iconsax import dev.krtirtho.spotube.resources.iconsax.Iconsax3DotsMore +import dev.krtirtho.spotube.resources.iconsax.IconsaxCd import dev.krtirtho.spotube.resources.iconsax.IconsaxDirectboxReceive +import dev.krtirtho.spotube.resources.iconsax.IconsaxInformation import dev.krtirtho.spotube.resources.iconsax.IconsaxMusic import dev.krtirtho.spotube.resources.iconsax.IconsaxMusicFilter import dev.krtirtho.spotube.resources.iconsax.IconsaxNext @@ -96,12 +98,18 @@ import dev.krtirtho.spotube.resources.iconsax.IconsaxShuffle import dev.krtirtho.spotube.resources.iconsax.IconsaxVolumeCross import dev.krtirtho.spotube.resources.iconsax.IconsaxVolumeHigh import dev.krtirtho.spotube.resources.iconsax.IconsaxVolumeLow +import dev.krtirtho.spotube.resources.iconsax.InconsaxClock import dev.krtirtho.spotube.resources.iconsax.SwapHorizontal2 import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch +import org.jetbrains.compose.resources.stringResource import org.koin.compose.koinInject import org.koin.compose.viewmodel.koinViewModel import org.koin.core.parameter.parametersOf +import spotube.composeapp.generated.resources.Res +import spotube.composeapp.generated.resources.player_go_to_album +import spotube.composeapp.generated.resources.player_sleep_timer +import spotube.composeapp.generated.resources.player_track_details import kotlin.time.Duration.Companion.milliseconds @@ -405,7 +413,13 @@ fun AppLargePlayer( onDismissRequest = playerOptionsViewModel::dismissMoreOptionsMenu, ) { DropdownMenuItem( - text = { Text("Go to album") }, + text = { Text(stringResource(Res.string.player_go_to_album)) }, + leadingIcon = { + Icon( + imageVector = Iconsax.IconsaxCd, + contentDescription = null, + ) + }, enabled = currentTrack?.album?.id != null, onClick = { playerOptionsViewModel.dismissMoreOptionsMenu() @@ -415,14 +429,26 @@ fun AppLargePlayer( }, ) DropdownMenuItem( - text = { Text("Sleep timer") }, + text = { Text(stringResource(Res.string.player_sleep_timer)) }, + leadingIcon = { + Icon( + imageVector = Iconsax.InconsaxClock, + contentDescription = null, + ) + }, onClick = { playerOptionsViewModel.dismissMoreOptionsMenu() playerOptionsViewModel.showSleepTimerDialog() }, ) DropdownMenuItem( - text = { Text("Track details") }, + text = { Text(stringResource(Res.string.player_track_details)) }, + leadingIcon = { + Icon( + imageVector = Iconsax.IconsaxInformation, + contentDescription = null, + ) + }, enabled = currentTrack != null, onClick = { playerOptionsViewModel.dismissMoreOptionsMenu()