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()