diff --git a/Yattee/Localizable.xcstrings b/Yattee/Localizable.xcstrings index 8927338b..4e803ee4 100644 --- a/Yattee/Localizable.xcstrings +++ b/Yattee/Localizable.xcstrings @@ -1949,6 +1949,17 @@ } } }, + "continueWatching.empty.search" : { + "comment" : "tvOS button on the empty Continue Watching screen that opens Search", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Search Videos" + } + } + } + }, "continueWatching.remove" : { "comment" : "Remove from continue watching", "localizations" : { diff --git a/Yattee/Views/Home/ContinueWatchingView.swift b/Yattee/Views/Home/ContinueWatchingView.swift index 457d371a..3570176b 100644 --- a/Yattee/Views/Home/ContinueWatchingView.swift +++ b/Yattee/Views/Home/ContinueWatchingView.swift @@ -219,6 +219,16 @@ struct ContinueWatchingView: View { Label(String(localized: "home.continueWatching.title"), systemImage: "play.circle") } description: { Text(String(localized: "home.continueWatching.empty")) + } actions: { + #if os(tvOS) + // Without a focusable element the focus engine has nowhere to + // land, and the remote can no longer reach the sidebar either. + Button { + appEnvironment?.navigationCoordinator.router.select(.search) + } label: { + Label(String(localized: "continueWatching.empty.search"), systemImage: "magnifyingglass") + } + #endif } .frame(maxWidth: .infinity, maxHeight: .infinity) }