diff --git a/package-lock.json b/package-lock.json index 744e5ea..23bc8f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ "@sveltejs/adapter-node": "^1.3.1", "@sveltejs/kit": "^1.20.4", "@tailwindcss/forms": "^0.5.6", + "@types/js-yaml": "^4.0.6", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", "@vitest/ui": "^0.34.1", @@ -966,6 +967,12 @@ "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, + "node_modules/@types/js-yaml": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.6.tgz", + "integrity": "sha512-ACTuifTSIIbyksx2HTon3aFtCKWcID7/h3XEmRpDYdMCXxPbl+m9GteOJeaAkiAta/NJaSFuA7ahZ0NkwajDSw==", + "dev": true + }, "node_modules/@types/json-schema": { "version": "7.0.12", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", diff --git a/package.json b/package.json index 1a9cc6f..a1b852a 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@sveltejs/adapter-node": "^1.3.1", "@sveltejs/kit": "^1.20.4", "@tailwindcss/forms": "^0.5.6", + "@types/js-yaml": "^4.0.6", "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", "@vitest/ui": "^0.34.1", diff --git a/src/lib/components/Button.svelte b/src/lib/components/Button.svelte new file mode 100644 index 0000000..218a237 --- /dev/null +++ b/src/lib/components/Button.svelte @@ -0,0 +1,16 @@ + + + diff --git a/src/lib/components/LinkMenu.svelte b/src/lib/components/LinkMenu.svelte new file mode 100644 index 0000000..a587789 --- /dev/null +++ b/src/lib/components/LinkMenu.svelte @@ -0,0 +1,72 @@ + + + + + + +
{ + show = false; + }} + class:hidden={!show} + class="min-w-40 absolute left-0 top-0 block flex flex-col gap-1 rounded border border-neutral-600 bg-neutral-600 p-1 transition-all" +> + {#each links as link} + + {#if link.icon} + + {/if} + {link.title} + + {/each} +
+ + + diff --git a/src/lib/server/config.ts b/src/lib/server/config.ts index 173ed7d..83d0f75 100644 --- a/src/lib/server/config.ts +++ b/src/lib/server/config.ts @@ -23,7 +23,7 @@ const requiredService: Required = { target: '', type: '', tag: '', - keywords: [] + keywords: '' }; const requiredServiceGroup: Required = { @@ -96,7 +96,7 @@ const defaultDarkConfig: ColorConfig = {}; export const defaultConfig: Config = { title: 'Flanders', - columns: 3, + columns: 4, colors: { light: defaultLightConfig, dark: defaultDarkConfig @@ -112,7 +112,7 @@ function strip(toStrip: Type, reference: Type): Type { if (reference == undefined) { return res; } - const referenceNames = Object.entries(reference).map(([key, value]) => key); + const referenceNames = Object.entries(reference).map((v) => v[0]); for (const [key, value] of Object.entries(res)) { if (referenceNames.includes(key) == false) { @@ -171,7 +171,7 @@ export function watchDymamicConfig() { const reloadConfig = async () => { try { const dynamicConfig = yml.load(await readFile(__filepath, 'utf8')); - _serverConfig = mergeConfig(defaultConfig, dynamicConfig); + _serverConfig = mergeConfig(defaultConfig, dynamicConfig as SPOJO); _clientConfig = stripPrivateFields(_serverConfig); initializeServiceData(); } catch (err) { @@ -184,6 +184,7 @@ export function watchDymamicConfig() { (async () => { try { const watcher = watch(__filepath); + // eslint-disable-next-line for await (const event of watcher) { reloadConfig(); } diff --git a/vite.config.ts b/vite.config.ts index 3e5dc45..1329e84 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,6 +1,6 @@ +import ViteYaml from '@modyfi/vite-plugin-yaml'; import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vitest/config'; -import ViteYaml from '@modyfi/vite-plugin-yaml'; export default defineConfig({ plugins: [ViteYaml(), sveltekit()],