remove useless strings, hide loader on eager finish

This commit is contained in:
Henry Jameson 2024-12-12 15:42:03 +02:00
parent 179fb9e527
commit 3cc9afc15f
5 changed files with 109 additions and 103 deletions

View file

@ -348,12 +348,11 @@ const afterStoreSetup = async ({ store, i18n }) => {
const server = (typeof overrides.target !== 'undefined') ? overrides.target : window.location.origin const server = (typeof overrides.target !== 'undefined') ? overrides.target : window.location.origin
store.dispatch('setInstanceOption', { name: 'server', value: server }) store.dispatch('setInstanceOption', { name: 'server', value: server })
document.querySelector('#status').textContent = i18n.global.t('splash.settings')
await setConfig({ store }) await setConfig({ store })
document.querySelector('#status').textContent = i18n.global.t('splash.theme')
try { try {
await store.dispatch('applyTheme').catch((e) => { console.error('Error setting theme', e) }) await store.dispatch('applyTheme').catch((e) => { console.error('Error setting theme', e) })
} catch (e) { } catch (e) {
window.splashError(e)
return Promise.reject(e) return Promise.reject(e)
} }
@ -361,7 +360,6 @@ const afterStoreSetup = async ({ store, i18n }) => {
// Now we can try getting the server settings and logging in // Now we can try getting the server settings and logging in
// Most of these are preloaded into the index.html so blocking is minimized // Most of these are preloaded into the index.html so blocking is minimized
document.querySelector('#status').textContent = i18n.global.t('splash.instance')
await Promise.all([ await Promise.all([
checkOAuthToken({ store }), checkOAuthToken({ store }),
getInstancePanel({ store }), getInstancePanel({ store }),
@ -408,7 +406,6 @@ const afterStoreSetup = async ({ store, i18n }) => {
// remove after vue 3.3 // remove after vue 3.3
app.config.unwrapInjectedRef = true app.config.unwrapInjectedRef = true
document.querySelector('#status').textContent = i18n.global.t('splash.almost')
app.mount('#app') app.mount('#app')
return app return app

View file

@ -1494,9 +1494,6 @@
"splash": { "splash": {
"loading": "Loading...", "loading": "Loading...",
"theme": "Applying theme, please wait warmly...", "theme": "Applying theme, please wait warmly...",
"instance": "Getting instance info...",
"settings": "Applying settings...",
"almost": "Reticulating splines...",
"fun_1": "Drink more water", "fun_1": "Drink more water",
"fun_2": "Take it easy!", "fun_2": "Take it easy!",
"fun_3": "Suya...", "fun_3": "Suya...",

View file

@ -70,6 +70,11 @@ const persistedStateOptions = {
console.error('PleromaFE failed to initialize: ', e) console.error('PleromaFE failed to initialize: ', e)
} }
window.splashError = e => splashError(i18n, e)
window.splashUpdate = key => {
document.querySelector('#status').textContent = i18n.global.t(key)
}
try { try {
let storageError let storageError
const plugins = [pushNotifications] const plugins = [pushNotifications]

View file

@ -563,8 +563,10 @@ const interfaceMod = {
if (!forceRecompile && !themeDebug && await tryLoadCache()) { if (!forceRecompile && !themeDebug && await tryLoadCache()) {
return commit('setThemeApplied') return commit('setThemeApplied')
} }
window.splashUpdate('splash.theme')
await dispatch('getThemeData') await dispatch('getThemeData')
try {
const paletteIss = (() => { const paletteIss = (() => {
if (!state.paletteDataUsed) return null if (!state.paletteDataUsed) return null
const result = { const result = {
@ -667,8 +669,12 @@ const interfaceMod = {
return applyTheme( return applyTheme(
rulesetArray.flat(), rulesetArray.flat(),
() => commit('setThemeApplied'), () => commit('setThemeApplied'),
() => {},
themeDebug themeDebug
) )
} catch (e) {
window.splashError(e)
}
} }
} }
} }

View file

@ -118,7 +118,7 @@ export const tryLoadCache = async () => {
} }
} }
export const applyTheme = (input, onFinish = (data) => {}, debug) => { export const applyTheme = (input, onEagerFinish = data => {}, onFinish = data => {}, debug) => {
const eagerStyles = createStyleSheet(EAGER_STYLE_ID) const eagerStyles = createStyleSheet(EAGER_STYLE_ID)
const lazyStyles = createStyleSheet(LAZY_STYLE_ID) const lazyStyles = createStyleSheet(LAZY_STYLE_ID)
@ -148,6 +148,7 @@ export const applyTheme = (input, onFinish = (data) => {}, debug) => {
}, },
onEagerFinished () { onEagerFinished () {
adoptStyleSheets([eagerStyles]) adoptStyleSheets([eagerStyles])
onEagerFinish()
}, },
onLazyFinished () { onLazyFinished () {
adoptStyleSheets([eagerStyles, lazyStyles]) adoptStyleSheets([eagerStyles, lazyStyles])