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()],