mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-16 14:16:16 -08:00
fix(ui): keep one Back arrow on detail pages (#1627)
Movie and series detail pages showed two arrow_back controls while the inline player was open: the shell's sticky arrow (added in #1576 so Back survives scrolling) meant "Close player" in watch state, while the now-playing bar carried a second arrow that meant route-level Back — the same icon with two meanings, next to a "Close player" button that duplicated the first. The shell's sticky arrow is now route-level Back in browse and watch alike, and the bar carries no arrow of its own. Closing the player is the bar's "Close player" button and Escape, which still unwinds one level (close, then back). Hosts without a browse Back target (M3U, downloads) render no arrow in either state. Unit specs for the shell and the inline player cover the new contract; the Electron and web E2E helpers that pressed Back from watch are updated, and the M3U flow closes the player through the bar's button. Docs, the mirrored CLAUDE.md/AGENTS.md paragraph and a release note follow the change. Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
5273e5fb55
commit
c76a901e8d
22 files changed
+127
-107
No files matched your search
@@ -590,8 +590,8 @@ async function firstVisibleGridTitle(page: Page): Promise<string> {
|
||||
}
|
||||
|
||||
async function goBackFromDetail(page: Page): Promise<void> {
|
||||
// Return to the list: browse uses the sticky Back, watch uses the
|
||||
// now-playing bar's direct Back (the sticky watch action is Close player).
|
||||
// Return to the list: the shell's sticky Back is route-level in browse
|
||||
// and watch alike (closing the player is the bar's own Close button).
|
||||
const backButton = page
|
||||
.locator('app-portal-detail-shell')
|
||||
.first()
|
||||
|
||||
@@ -249,8 +249,8 @@ function dashboardRailCardByTitle(
|
||||
}
|
||||
|
||||
async function goBackFromDetail(page: Page): Promise<void> {
|
||||
// Return to the list: browse uses the sticky Back, watch uses the
|
||||
// now-playing bar's direct Back (the sticky watch action is Close player).
|
||||
// Return to the list: the shell's sticky Back is route-level in browse
|
||||
// and watch alike (closing the player is the bar's own Close button).
|
||||
const backButton = page
|
||||
.locator('app-portal-detail-shell')
|
||||
.first()
|
||||
|
||||
@@ -606,8 +606,8 @@ async function addCurrentDetailToFavorites(page: Page): Promise<void> {
|
||||
}
|
||||
|
||||
async function goBackFromDetail(page: Page): Promise<void> {
|
||||
// Return to the list: browse uses the sticky Back, watch uses the
|
||||
// now-playing bar's direct Back (the sticky watch action is Close player).
|
||||
// Return to the list: the shell's sticky Back is route-level in browse
|
||||
// and watch alike (closing the player is the bar's own Close button).
|
||||
const backButton = page
|
||||
.locator('app-portal-detail-shell')
|
||||
.first()
|
||||
|
||||
@@ -653,8 +653,8 @@ async function expectUnifiedLiveDetailOpen(
|
||||
}
|
||||
|
||||
async function goBackFromDetail(page: Page): Promise<void> {
|
||||
// Return to the list: browse uses the sticky Back, watch uses the
|
||||
// now-playing bar's direct Back (the sticky watch action is Close player).
|
||||
// Return to the list: the shell's sticky Back is route-level in browse
|
||||
// and watch alike (closing the player is the bar's own Close button).
|
||||
const backButton = page
|
||||
.locator('app-portal-detail-shell')
|
||||
.first()
|
||||
|
||||
@@ -1540,8 +1540,8 @@ async function addCurrentDetailToFavorites(page: Page): Promise<void> {
|
||||
}
|
||||
|
||||
async function goBackFromDetail(page: Page): Promise<void> {
|
||||
// Return to the list: browse uses the sticky Back, watch uses the
|
||||
// now-playing bar's direct Back (the sticky watch action is Close player).
|
||||
// Return to the list: the shell's sticky Back is route-level in browse
|
||||
// and watch alike (closing the player is the bar's own Close button).
|
||||
const backButton = page
|
||||
.locator('app-portal-detail-shell')
|
||||
.first()
|
||||
|
||||
Reference in new issue
Block a user