refactor
This commit is contained in:
parent
4311b82976
commit
3cd8fb2564
|
@ -29,6 +29,7 @@
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@sveltejs/adapter-static": "^2.0.1",
|
||||||
"a17t": "^0.10.1"
|
"a17t": "^0.10.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {t} from "../scripts/i18n";
|
import {t} from "$lib/i18n";
|
||||||
import {theme} from "../stores/ThemeStore.js";
|
import {theme} from "$lib/stores/ThemeStore.js";
|
||||||
import {get} from "svelte/store";
|
import {getCurrentLocale, locales} from "$lib/i18n.js";
|
||||||
import {onMount} from "svelte";
|
import {locale} from "$lib/stores/LocaleStore";
|
||||||
import {getCurrentLocale, locales} from "../scripts/i18n.js";
|
|
||||||
import {locale} from "../stores/LocaleStore";
|
|
||||||
|
|
||||||
function toggleTheme() {
|
function toggleTheme() {
|
||||||
if ($theme === "dark") {
|
if ($theme === "dark") {
|
||||||
|
@ -47,19 +45,19 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class:hidden={!dropdownOpen}
|
<div class:hidden={!dropdownOpen}
|
||||||
class="transition absolute right-0 z-10 mt-2 w-56 origin-top-right rounded-md bg-slate-100 dark:bg-slate-700 shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none"
|
class="transition absolute right-0 z-10 w-min mt-2 origin-top-right rounded-md bg-slate-100 dark:bg-slate-700 shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none"
|
||||||
role="menu" aria-orientation="vertical" aria-labelledby="menu-button" tabindex="-1" on:mouseleave={closeIfOpen}>
|
role="menu" aria-orientation="vertical" aria-labelledby="menu-button" tabindex="-1" on:mouseleave={closeIfOpen}>
|
||||||
<div class="p-2" role="none">
|
<div class="p-2" role="none">
|
||||||
|
|
||||||
<div class="rounded p-2 bg-slate-200 dark:bg-slate-600" role="menuitem" tabindex="-1">
|
<div class="whitespace-nowrap rounded p-2 bg-slate-200 dark:bg-slate-600" role="menuitem" tabindex="-1">
|
||||||
<div>
|
<div>
|
||||||
<span class="mr-3 fi fi-{t('common.flag')}"></span>
|
<span class="mr-3 fi fi-{t('common.flag')}"></span>
|
||||||
<span class="mt-0.2">{t("common.localeName")} - {t("common.selected")}</span>
|
<span class="mt-0.2 mr-0.5">{t("common.localeName")} <span class="text-slate-400">- {t("common.selected")}</span></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#each Object.keys(locales) as locale, i}
|
{#each Object.keys(locales) as locale, i}
|
||||||
{#if getCurrentLocale() != locale}
|
{#if getCurrentLocale() !== locale}
|
||||||
<div class="rounded p-2 mt-2 hover:bg-slate-300 hover:dark:bg-slate-800 transition"
|
<div class="rounded p-2 mt-2 hover:bg-slate-300 hover:dark:bg-slate-800 transition"
|
||||||
role="menuitem" tabindex="-1" on:click={() => {setLocale(locale)}}>
|
role="menuitem" tabindex="-1" on:click={() => {setLocale(locale)}}>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {onMount} from "svelte";
|
import {onMount} from "svelte";
|
||||||
import {Logger, logSetup} from "../scripts/logger";
|
import {Logger, logSetup} from "$lib/logger";
|
||||||
import {theme} from "../stores/ThemeStore";
|
import {theme} from "$lib/stores/ThemeStore";
|
||||||
import {get} from "svelte/store";
|
import {get} from "svelte/store";
|
||||||
|
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import {locale} from "../stores/LocaleStore";
|
import {locale} from "$lib/stores/LocaleStore";
|
||||||
import {get} from "svelte/store";
|
import {get} from "svelte/store";
|
||||||
|
|
||||||
import en from "../i18n/en.json";
|
import en from "$lib/i18n/en.json";
|
||||||
import jp from "../i18n/jp.json";
|
import jp from "$lib/i18n/jp.json";
|
||||||
import nl from "../i18n/nl.json";
|
import nl from "$lib/i18n/nl.json";
|
||||||
import {Logger, logSetup} from "./logger";
|
import {Logger, logSetup} from "$lib/logger";
|
||||||
|
|
||||||
logSetup();
|
logSetup();
|
||||||
const logger = new Logger("i18n");
|
const logger = new Logger("i18n");
|
|
@ -90,7 +90,7 @@ export function consoleLogDump() {
|
||||||
}
|
}
|
||||||
|
|
||||||
export class Logger {
|
export class Logger {
|
||||||
private name: string;
|
private readonly name: string;
|
||||||
|
|
||||||
constructor(name: string) {
|
constructor(name: string) {
|
||||||
this.name = name;
|
this.name = name;
|
|
@ -0,0 +1,3 @@
|
||||||
|
import { persist } from "$lib/PersistentStore";
|
||||||
|
|
||||||
|
export const locale = persist("lang", "en");
|
|
@ -0,0 +1,3 @@
|
||||||
|
import { persist } from "$lib/PersistentStore";
|
||||||
|
|
||||||
|
export const theme = persist("theme", "light");
|
|
@ -0,0 +1 @@
|
||||||
|
export const prerender = true;
|
|
@ -1,3 +1,17 @@
|
||||||
<script>
|
<script lang="ts">
|
||||||
import Header from "../../../components/Header.svelte";
|
import {t} from "$lib/i18n";
|
||||||
</script>
|
|
||||||
|
let email = "";
|
||||||
|
function generateMagicLink() {
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<h1>{t('login.title')}</h1>
|
||||||
|
<h2>{t('login.subtitle')}</h2>
|
||||||
|
|
||||||
|
<form on:submit|preventDefault={generateMagicLink}>
|
||||||
|
<label for="email">{t('login.prompt')}</label>
|
||||||
|
<input type="text" id="email" bind:value={email} />
|
||||||
|
<button>{t('login.actionButtonText')}</button>
|
||||||
|
</form>
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
import { persist } from "../scripts/PersistentStore";
|
|
||||||
|
|
||||||
export const locale = persist("lang", "en");
|
|
|
@ -1,3 +0,0 @@
|
||||||
import { persist } from "../scripts/PersistentStore";
|
|
||||||
|
|
||||||
export const theme = persist("theme", "light");
|
|
|
@ -1,4 +1,4 @@
|
||||||
import adapter from '@sveltejs/adapter-auto';
|
import adapter from '@sveltejs/adapter-static';
|
||||||
import { vitePreprocess } from '@sveltejs/kit/vite';
|
import { vitePreprocess } from '@sveltejs/kit/vite';
|
||||||
|
|
||||||
/** @type {import('@sveltejs/kit').Config} */
|
/** @type {import('@sveltejs/kit').Config} */
|
||||||
|
@ -8,7 +8,13 @@ const config = {
|
||||||
preprocess: vitePreprocess(),
|
preprocess: vitePreprocess(),
|
||||||
|
|
||||||
kit: {
|
kit: {
|
||||||
adapter: adapter()
|
adapter: adapter({
|
||||||
|
pages: 'build',
|
||||||
|
assets: 'build',
|
||||||
|
fallback: null,
|
||||||
|
precompress: false,
|
||||||
|
strict: true
|
||||||
|
})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -197,6 +197,11 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
import-meta-resolve "^2.2.0"
|
import-meta-resolve "^2.2.0"
|
||||||
|
|
||||||
|
"@sveltejs/adapter-static@^2.0.1":
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-2.0.1.tgz#b76f7742ae635e1c063efcab8c6de064255f6292"
|
||||||
|
integrity sha512-o5/q3YwD/ErxYCFlK1v3ydvldyNKk1lh3oeyxn4mhz+Pkbx/uuxhzmbOpytTlp5aVqNHDVsb04xadUzOFCDDzw==
|
||||||
|
|
||||||
"@sveltejs/kit@^1.5.0":
|
"@sveltejs/kit@^1.5.0":
|
||||||
version "1.7.2"
|
version "1.7.2"
|
||||||
resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.7.2.tgz#ec90d5f7d18a8c40e5a6d8dfae43acaa00f6b199"
|
resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.7.2.tgz#ec90d5f7d18a8c40e5a6d8dfae43acaa00f6b199"
|
||||||
|
|
Loading…
Reference in New Issue