diff --git a/package-lock.json b/package-lock.json index 92f2314..18e28cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "@tailwindcss/postcss": "^4.0.15", "@tailwindcss/typography": "^0.5.16", "daisyui": "^5.0.9", + "pocketbase": "^0.26.2", "prettier": "^3.3.2", "prettier-plugin-svelte": "^3.2.6", "prettier-plugin-tailwindcss": "^0.6.11", @@ -1936,6 +1937,13 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pocketbase": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/pocketbase/-/pocketbase-0.26.2.tgz", + "integrity": "sha512-WA8EOBc3QnSJh8rJ3iYoi9DmmPOMFIgVfAmIGux7wwruUEIzXgvrO4u0W2htfQjGIcyezJkdZOy5Xmh7SxAftw==", + "dev": true, + "license": "MIT" + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", diff --git a/package.json b/package.json index b0cddc3..3c69924 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@tailwindcss/postcss": "^4.0.15", "@tailwindcss/typography": "^0.5.16", "daisyui": "^5.0.9", + "pocketbase": "^0.26.2", "prettier": "^3.3.2", "prettier-plugin-svelte": "^3.2.6", "prettier-plugin-tailwindcss": "^0.6.11", diff --git a/src/lib/components/common/classes.svelte b/src/lib/components/common/classes.svelte index 9cadec7..e235e2e 100644 --- a/src/lib/components/common/classes.svelte +++ b/src/lib/components/common/classes.svelte @@ -1,5 +1,6 @@ \ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 79ea641..a800d20 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -4,10 +4,10 @@ import Navbar from '$lib/components/layout/navbar.svelte'; import Sidebar from '$lib/components/layout/sidebar.svelte'; import Toast from '$lib/components/layout/toast.svelte'; - import { getAPIKeys } from '$lib/components/settings/server-settings-functions.svelte'; import { onMount } from 'svelte'; import { fade } from 'svelte/transition'; import '../app.css'; + import { checkAuth } from '$lib/components/layout/auth-functions.svelte'; let { children } = $props(); onMount(async () => { @@ -21,6 +21,7 @@ localStorage.setItem('persistentAppSettings', JSON.stringify(persistentAppSettings)); }); + // populate any settings being passed through by url params const urlParams = new URLSearchParams(window.location.search); let headscaleApiKeyParam = urlParams.get('apikey'); @@ -33,8 +34,8 @@ persistentAppSettings.headscaleURL = headscaleUrlParam; } - // perform an initial API test - getAPIKeys(); + // do an initial authentication check + checkAuth(); // delay load until page is hydrated appSettings.appLoaded = true; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index e34f3c1..78957a6 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,9 +1,9 @@ diff --git a/src/routes/firstregistration.html/+page.svelte b/src/routes/firstregistration.html/+page.svelte new file mode 100644 index 0000000..c068a4e --- /dev/null +++ b/src/routes/firstregistration.html/+page.svelte @@ -0,0 +1 @@ +firstregistration \ No newline at end of file