Fix stale _artistDetailGoingBack flag when back lands on non-artist page
If history.back() navigated away from artist-detail entirely (e.g. to library), _artistDetailGoingBack stayed true. The next forward artist navigation would then pop the label stack instead of pushing, causing the back-button label to show plain Back instead of the correct page. Guard the pop with currentPage === artist-detail; clear the flag unconditionally in the else branch.
This commit is contained in:
parent
e7ba5408aa
commit
1575ba4684
1 changed files with 4 additions and 1 deletions
|
|
@ -818,10 +818,13 @@ function navigateToArtistDetail(artistId, artistName, sourceOverride = null, opt
|
||||||
console.log(`🎵 Navigating to artist detail: ${artistName} (ID: ${artistId}${sourceOverride ? `, source: ${sourceOverride}` : ''})`);
|
console.log(`🎵 Navigating to artist detail: ${artistName} (ID: ${artistId}${sourceOverride ? `, source: ${sourceOverride}` : ''})`);
|
||||||
|
|
||||||
// Maintain the label stack. Back navigations pop; forward navigations push.
|
// Maintain the label stack. Back navigations pop; forward navigations push.
|
||||||
if (_artistDetailGoingBack) {
|
// Only treat the flag as a back-nav signal when we're still on artist-detail —
|
||||||
|
// if history.back() landed on a non-artist page first, the flag is stale.
|
||||||
|
if (_artistDetailGoingBack && currentPage === 'artist-detail') {
|
||||||
_artistDetailLabelStack.pop();
|
_artistDetailLabelStack.pop();
|
||||||
_artistDetailGoingBack = false;
|
_artistDetailGoingBack = false;
|
||||||
} else {
|
} else {
|
||||||
|
_artistDetailGoingBack = false; // clear any stale flag
|
||||||
if (currentPage !== 'artist-detail') {
|
if (currentPage !== 'artist-detail') {
|
||||||
_artistDetailLabelStack = []; // fresh chain from a non-artist page
|
_artistDetailLabelStack = []; // fresh chain from a non-artist page
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue