diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index 6bad236..7a8939b 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -157,6 +157,7 @@
v-if="detailItemForRender"
v-show="isDetailOpen"
:item="detailItemForRender"
+ :all-movies="mediaIndex?.movies ?? []"
:focus-episode="focusEpisode"
:has-resume-position="hasResumePosition"
:get-root-name="getRootName"
@@ -164,6 +165,7 @@
@play="handlePlay"
@open-folder="handleOpenFolder"
@search-actor="handleActorSearch"
+ @select-movie="handleSelectMovieFromDetail"
/>
@@ -762,6 +764,11 @@ function handleActorSearch(actorName: string) {
updateSearchQuery(actorName)
}
+function handleSelectMovieFromDetail(movieId: string) {
+ const searchPath = searchQuery.value ? getSearchPath(searchQuery.value) : null
+ router.push({ path: `/movies/${movieId}`, state: searchPath ? { searchPath } : undefined })
+}
+
function focusDetailEntryTarget(item: MediaItem): boolean {
const detailPanel = document.querySelector('[data-nav-scope="detail"]') as HTMLElement | null
if (!detailPanel) return false
diff --git a/frontend/src/components/MediaDetail.vue b/frontend/src/components/MediaDetail.vue
index 531aa10..6ae176c 100644
--- a/frontend/src/components/MediaDetail.vue
+++ b/frontend/src/components/MediaDetail.vue
@@ -3,12 +3,14 @@