diff --git a/src/app.css b/src/app.css index d74b6cea2..8c51f9eb7 100644 --- a/src/app.css +++ b/src/app.css @@ -1547,6 +1547,28 @@ body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow: hidden; + /* App-wide non-selection. Music app text (titles, artists, headers) is + not meant to be selected — and selectable text breaks window drag + regions, since native text selection preempts the drag gesture. + Exceptions below opt specific elements back into selectability. */ + user-select: none; + -webkit-user-select: none; +} + +/* Text-input controls always get native selection back. */ +input, +textarea, +[contenteditable]:not([contenteditable='false']) { + user-select: text; + -webkit-user-select: text; +} + +/* Escape hatch: add class="selectable" to any element whose text users + should be able to copy (error messages, tokens, release notes, etc.). */ +.selectable, +.selectable * { + user-select: text; + -webkit-user-select: text; } /* Scrollbar Styling */ diff --git a/src/lib/components/AboutModal.svelte b/src/lib/components/AboutModal.svelte index 61d1d514d..f364d214c 100644 --- a/src/lib/components/AboutModal.svelte +++ b/src/lib/components/AboutModal.svelte @@ -49,7 +49,7 @@