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