From 7375122d40eaca366f8140d38f87204f8eef57d1 Mon Sep 17 00:00:00 2001 From: Huakun Shen Date: Fri, 28 Mar 2025 05:08:52 -0400 Subject: [PATCH] Add loading animation to general settings --- .../standalone/general-settings.svelte | 29 +++++++++++++++++++ apps/desktop/src/lib/stores/appConfig.ts | 8 +++-- packages/types/src/appConfig.ts | 6 +++- pnpm-lock.yaml | 18 ++++++++++-- 4 files changed, 55 insertions(+), 6 deletions(-) diff --git a/apps/desktop/src/lib/components/standalone/general-settings.svelte b/apps/desktop/src/lib/components/standalone/general-settings.svelte index 52ebc46..0a8549d 100644 --- a/apps/desktop/src/lib/components/standalone/general-settings.svelte +++ b/apps/desktop/src/lib/components/standalone/general-settings.svelte @@ -11,6 +11,7 @@ } from "@/paraglide/runtime" import { appConfig } from "@/stores" import { Select, Switch } from "@kksh/svelte5" + import type { LoadingAnimation } from "@kksh/types" import * as autoStart from "@tauri-apps/plugin-autostart" import { onMount } from "svelte" import { toast } from "svelte-sonner" @@ -19,12 +20,15 @@ value: lang, label: LanguageMap[lang] ?? lang })) + let loadingAnimation = $state("spinning-circle") + const loadingAnimations = ["spinning-circle", "kunkun-dancing"] as const let launchAtLogin = $state(false) let language = $state(languageTag()) onMount(() => { autoStart.isEnabled().then((enabled) => { launchAtLogin = enabled }) + loadingAnimation = $appConfig.loadingAnimation }) const triggerContent = $derived(languages.find((f) => f.value === language)?.label ?? "Language") @@ -101,6 +105,31 @@ +
  • + Loading Animation + + + + {loadingAnimation} + + + + Loading Animation + {#each loadingAnimations as anim} + { + appConfig.setLoadingAnimation(anim) + }} + value={anim} + label={anim} + > + {anim} + + {/each} + + + +