diff --git a/composeApp/src/commonMain/composeResources/values/strings.xml b/composeApp/src/commonMain/composeResources/values/strings.xml
index 3c21777b..e46796d0 100644
--- a/composeApp/src/commonMain/composeResources/values/strings.xml
+++ b/composeApp/src/commonMain/composeResources/values/strings.xml
@@ -11,6 +11,7 @@
Next
OK
Play
+ Watch Again
Previous
Remove
Reorder
diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/details/MetaDetailsScreen.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/details/MetaDetailsScreen.kt
index d8bfbf27..9dde8ae5 100644
--- a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/details/MetaDetailsScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/details/MetaDetailsScreen.kt
@@ -434,12 +434,21 @@ fun MetaDetailsScreen(
}
val playText = stringResource(Res.string.action_play)
val resumeText = stringResource(Res.string.action_resume)
- val playButtonLabel = remember(movieProgress, seriesAction, meta.type, hasEpisodes, playText, resumeText) {
+ val watchAgainText = stringResource(Res.string.action_watch_again)
+ val isMovieWatched = remember(meta.id, meta.type, hasEpisodes, watchedUiState.watchedKeys) {
+ meta.type != "series" && !hasEpisodes && WatchedRepository.isWatched(
+ id = meta.id,
+ type = meta.type,
+ )
+ }
+ val playButtonLabel = remember(movieProgress, isMovieWatched, seriesAction, meta.type, hasEpisodes, playText, resumeText, watchAgainText) {
when {
(meta.type == "series" || hasEpisodes) && seriesAction != null ->
seriesAction.label
meta.type != "series" && !hasEpisodes && movieProgress != null ->
resumeText
+ isMovieWatched ->
+ watchAgainText
else -> playText
}
}