aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/video-app-settings.js
diff options
context:
space:
mode:
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.js13
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