diff options
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/video-app-settings.js')
| -rw-r--r-- | packages/meshbay-hub/src/meshbay_hub/static/video-app-settings.js | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/video-app-settings.js b/packages/meshbay-hub/src/meshbay_hub/static/video-app-settings.js index b2d5015..86e47ec 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/video-app-settings.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/video-app-settings.js @@ -56,11 +56,14 @@ function VideoSettings({ roots, dirs, settings, saveDirectories, transport, sign value=${directories} disabled=${busy} onChange=${setDirectories} /> - <button class="btn btn-small btn-secondary" style="margin-top:4px" - disabled=${busy || !dirsDirty} + <div class="app-save-row"> + <button class="app-save" disabled=${busy || !dirsDirty} onClick=${() => run(() => saveDirectories(directories))}> ${busy ? t('settings_app.saving') : t('settings_app.save')} </button> + ${!busy && !dirsDirty && html` + <span class="app-save-why">${t('settings_app.no_changes')}</span>`} + </div> <h4 class="app-settings-sub">${t('settings_node.tmdb_title')}</h4> <p class="settings-hint">${t('settings_node.tmdb_hint')}</p> @@ -108,7 +111,11 @@ function VideoSettings({ roots, dirs, settings, saveDirectories, transport, sign <p class="settings-hint">${t('settings_node.tmdb_language_hint')}</p> </div> - <button class="btn btn-small btn-secondary" disabled=${busy} + ${/* The same control as the one above it. Two Save buttons in one pane + that do not look alike is worse than either looking wrong. This one + is never inert: the language always has a value to send, and an + empty token means "leave the stored one alone", not "no change". */''} + <button class="app-save" disabled=${busy} onClick=${() => run(async () => { // `undefined` for the token means "leave the stored one alone", // which is not the same as `''` — that clears it. The input starts |