From 70347722fa1f959a5b224ed43b6b64bf289f36cf Mon Sep 17 00:00:00 2001
From: ivarlovlie <git@ivarlovlie.no>
Date: Sun, 2 Oct 2022 17:35:06 +0800
Subject: feat/refactor: Initial surroundings for (app) and normalise icon
 names

---
 apps/kit/src/lib/components/locale-switcher.svelte | 47 +++++++---------------
 1 file changed, 14 insertions(+), 33 deletions(-)

(limited to 'apps/kit/src/lib/components/locale-switcher.svelte')

diff --git a/apps/kit/src/lib/components/locale-switcher.svelte b/apps/kit/src/lib/components/locale-switcher.svelte
index 39d6168..1f9eb37 100644
--- a/apps/kit/src/lib/components/locale-switcher.svelte
+++ b/apps/kit/src/lib/components/locale-switcher.svelte
@@ -1,51 +1,32 @@
 <script lang="ts">
-    import {browser} from "$app/environment";
-    import {page} from "$app/stores";
-    import {setLocale, locale} from "$lib/i18n/i18n-svelte";
-    import type {Locales} from "$lib/i18n/i18n-types";
-    import {locales} from "$lib/i18n/i18n-util";
-    import {loadLocaleAsync} from "$lib/i18n/i18n-util.async";
-
-    const switchLocale = async (
-        newLocale: Locales,
-        updateHistoryState = true,
-    ) => {
+    import { browser } from "$app/environment";
+    import { page } from "$app/stores";
+    import { setLocale, locale } from "$lib/i18n/i18n-svelte";
+    import type { Locales } from "$lib/i18n/i18n-types";
+    import { locales } from "$lib/i18n/i18n-util";
+    import { loadLocaleAsync } from "$lib/i18n/i18n-util.async";
+
+    const switchLocale = async (newLocale: Locales) => {
         if (!newLocale || $locale === newLocale) return;
-
-        // load new dictionary from server
         await loadLocaleAsync(newLocale);
-
-        // select locale
         setLocale(newLocale);
-
-        // update `lang` attribute
         document.querySelector("html")?.setAttribute("lang", newLocale);
-
-        //TODO set cookie that persists the locale
     };
 
-    // update locale when navigating via browser back/forward buttons
-    const handlePopStateEvent = async ({state}: PopStateEvent) =>
-        switchLocale(state.locale, false);
-
-    // update locale when page store changes
     $: if (browser) {
-        const lang = $page.params.lang as Locales;
-        switchLocale(lang, false);
+        switchLocale($page.params.lang as Locales);
     }
 </script>
 
-<svelte:window on:popstate={handlePopStateEvent}/>
-
 <ul>
-    {#each locales as l}
+    {#each locales as aLocale}
         <li>
             <button
-                    type="button"
-                    class:active={l === $locale}
-                    on:click={() => switchLocale(l)}
+                type="button"
+                class:active={aLocale === $locale}
+                on:click={() => switchLocale(aLocale)}
             >
-                {l}
+                {aLocale}
             </button>
         </li>
     {/each}
-- 
cgit v1.3

