feat: loading screen, initSDK on bootstrap, fix FOUC for theme (#10350)

* feat: loading screen, initSDK on bootstrap, fix FOUC for theme

* pulsate immich logo, don't set localstorage

* Make it spin

* Rework error handling a bit

* Cleanup

* fix test

* rename, memoize

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
Min Idzelis 2024-08-25 18:34:08 -04:00 committed by GitHub
parent b653a20d15
commit b2dd5a3152
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 328 additions and 173 deletions

View file

@ -0,0 +1,21 @@
import { retrieveServerConfig } from '$lib/stores/server-config.store';
import { initLanguage } from '$lib/utils';
import { defaults } from '@immich/sdk';
import { memoize } from 'lodash-es';
type fetchType = typeof fetch;
export function initSDK(fetch: fetchType) {
// set event.fetch on the fetch-client used by @immich/sdk
// https://kit.svelte.dev/docs/load#making-fetch-requests
// https://github.com/oazapfts/oazapfts/blob/main/README.md#fetch-options
defaults.fetch = fetch;
}
async function _init(fetch: fetchType) {
initSDK(fetch);
await initLanguage();
await retrieveServerConfig();
}
export const init = memoize(_init, () => 'singlevalue');