diff --git a/index.html b/index.html index 26a995c..59cc4b0 100644 --- a/index.html +++ b/index.html @@ -239,6 +239,9 @@ justify-content: center; max-width: 720px; } + .controls.locked { + opacity: 0.35; + } button { background: var(--color-surface); diff --git a/src/main.ts b/src/main.ts index a56c814..1374b58 100644 --- a/src/main.ts +++ b/src/main.ts @@ -775,10 +775,13 @@ class MotifApp { // collapse results when selected/generated this.resultsSection.classList.toggle('collapsed', state === 'selected'); - // Search affordances: hidden after generation (no choice) - const hideSearch = state === 'generated'; - this.controlsEl.style.display = hideSearch ? 'none' : ''; - this.status.style.display = hideSearch ? 'none' : ''; + // Keep search visible so you can scroll back up, but lock it during generated mode. + const lockSearch = state === 'generated'; + this.controlsEl.classList.toggle('locked', lockSearch); + this.songInput.disabled = lockSearch; + this.searchBtn.disabled = lockSearch; + // Keep status visible for layout continuity; just de-emphasize content in generated mode. + if (lockSearch) this.status.textContent = ''; // Selected pre-generation content const showPreGen = state === 'selected';