Tweak navbar loading state and localize rating save
This commit is contained in:
+11
-4
@@ -409,13 +409,20 @@ body:not(.i18n-ready) .navbar .nav-link,
|
|||||||
body:not(.i18n-ready) .navbar .navbar-text,
|
body:not(.i18n-ready) .navbar .navbar-text,
|
||||||
body:not(.i18n-ready) .navbar .btn {
|
body:not(.i18n-ready) .navbar .btn {
|
||||||
transition: filter 220ms ease, opacity 220ms ease, transform 220ms ease;
|
transition: filter 220ms ease, opacity 220ms ease, transform 220ms ease;
|
||||||
/* Light mode & default: fully fade out navbar until i18n is ready
|
/* Light mode & default: muted appearance while i18n loads. */
|
||||||
so fallback labels never flash. */
|
filter: blur(1.2px) saturate(0.95);
|
||||||
opacity: 0;
|
opacity: 0.45;
|
||||||
transform: translateY(-2px);
|
transform: translateY(-1px);
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Light mode: keep navbar container visible to avoid layout jump. */
|
||||||
|
html:not([data-theme="dark"]) body:not(.i18n-ready) nav.navbar,
|
||||||
|
html:not([data-theme="dark"]) body:not(.i18n-ready) .navbar {
|
||||||
|
opacity: 1;
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
/* Dark mode: keep the original soft blur effect while loading
|
/* Dark mode: keep the original soft blur effect while loading
|
||||||
so the navbar stays visible but its text is obscured. */
|
so the navbar stays visible but its text is obscured. */
|
||||||
html[data-theme="dark"] body:not(.i18n-ready) nav.navbar,
|
html[data-theme="dark"] body:not(.i18n-ready) nav.navbar,
|
||||||
|
|||||||
@@ -656,7 +656,7 @@ function initUserRating({ movieId, token, initial } = {}) {
|
|||||||
|
|
||||||
isSaving = true;
|
isSaving = true;
|
||||||
buttons.forEach((b) => b.setAttribute('disabled', 'disabled'));
|
buttons.forEach((b) => b.setAttribute('disabled', 'disabled'));
|
||||||
metaEl.textContent = 'Enregistrement…';
|
metaEl.textContent = t('player.saving', 'Saving…');
|
||||||
|
|
||||||
const shouldClear = currentRating && value === currentRating;
|
const shouldClear = currentRating && value === currentRating;
|
||||||
const result = shouldClear
|
const result = shouldClear
|
||||||
|
|||||||
Reference in New Issue
Block a user