#867 UX: open Tidal discovery modal in 'discovering' phase so the empty/loading modal isn't interactable

When the modal opens instantly (before data loads), it was rendered in the
'fresh' phase — showing clickable Start Discovery / Wing It buttons over an empty
table, even though discovery is already auto-starting. Open it in 'discovering'
instead: the footer becomes the non-interactive 'Discovering matches…' info line
and the progress text reads 'Starting discovery…' instead of 'Click Start
Discovery to begin…'. Only Close stays clickable while the table loads.
This commit is contained in:
BoulderBadgeDad 2026-06-13 11:03:40 -07:00
parent ecc07c6811
commit ce92828290

View file

@ -547,6 +547,12 @@ async function openTidalDiscoveryModal(playlistId, playlistData) {
// ~10s. Now the modal shows immediately with a loading note and tracks
// stream in once discovery starts. We return early so the shared open at
// the bottom isn't reached for this path. (#867 UX)
//
// Open in the 'discovering' phase (not 'fresh') because discovery is
// auto-starting: that renders the non-interactive "Discovering matches…"
// footer instead of clickable Start Discovery / Wing It buttons, which
// must NOT be clickable while the table is still empty/loading. (#867 UX)
youtubePlaylistStates[fakeUrlHash].phase = 'discovering';
openYouTubeDiscoveryModal(fakeUrlHash);
const _descEl = document.querySelector(`#youtube-discovery-modal-${fakeUrlHash} .modal-description`);
if (_descEl) _descEl.textContent = 'Loading playlist from Tidal…';