diff --git a/package.json b/package.json
index 99b16f6..9c06b7c 100644
--- a/package.json
+++ b/package.json
@@ -21,5 +21,8 @@
"tslib": "^2.8.0",
"typescript": "~5.6.2",
"vite": "^5.4.10"
+ },
+ "dependencies": {
+ "pocketbase": "^0.21.5"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6228a32..8dc082a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,6 +7,10 @@ settings:
importers:
.:
+ dependencies:
+ pocketbase:
+ specifier: ^0.21.5
+ version: 0.21.5
devDependencies:
'@sveltejs/vite-plugin-svelte':
specifier: ^4.0.0
@@ -677,6 +681,9 @@ packages:
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
engines: {node: '>= 6'}
+ pocketbase@0.21.5:
+ resolution: {integrity: sha512-bnI/uinnQps+ElSlzxkc4yvwuSFfKcoszDtXH/4QT2FhGq2mJVUvDlxn+rjRXVntUjPfmMG5LEPZ1eGqV6ssog==}
+
postcss-import@15.1.0:
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'}
@@ -1400,6 +1407,8 @@ snapshots:
pirates@4.0.6: {}
+ pocketbase@0.21.5: {}
+
postcss-import@15.1.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
diff --git a/src/App.svelte b/src/App.svelte
index e69de29..47731ac 100644
--- a/src/App.svelte
+++ b/src/App.svelte
@@ -0,0 +1,39 @@
+
+
+{#if page == "auth"}
+ (page = "login")} showRegister={() => (page = "register")}>
+{:else if page == "login"}
+
+{:else if page == "register"}
+
+{:else if page == "app"}
+
+{/if}
diff --git a/src/lib/components/Auth/Auth.svelte b/src/lib/components/Auth/Auth.svelte
new file mode 100644
index 0000000..00e71ee
--- /dev/null
+++ b/src/lib/components/Auth/Auth.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+ Welcome on minichat !
+
+ Please login or register.
+
+
diff --git a/src/lib/components/Auth/Login.svelte b/src/lib/components/Auth/Login.svelte
new file mode 100644
index 0000000..ca2ae39
--- /dev/null
+++ b/src/lib/components/Auth/Login.svelte
@@ -0,0 +1,40 @@
+
+
+
+
+
diff --git a/src/lib/components/Auth/Register.svelte b/src/lib/components/Auth/Register.svelte
new file mode 100644
index 0000000..8cd1461
--- /dev/null
+++ b/src/lib/components/Auth/Register.svelte
@@ -0,0 +1,64 @@
+
+
+
+
+
diff --git a/src/lib/components/Chat/Chat.svelte b/src/lib/components/Chat/Chat.svelte
new file mode 100644
index 0000000..6bbe301
--- /dev/null
+++ b/src/lib/components/Chat/Chat.svelte
@@ -0,0 +1,6 @@
+
+
+
\ No newline at end of file
diff --git a/src/lib/components/utils/Dialog.svelte b/src/lib/components/utils/Dialog.svelte
new file mode 100644
index 0000000..e04374c
--- /dev/null
+++ b/src/lib/components/utils/Dialog.svelte
@@ -0,0 +1,5 @@
+
+
+
diff --git a/src/lib/pocketbase.svelte.ts b/src/lib/pocketbase.svelte.ts
new file mode 100644
index 0000000..9bcd251
--- /dev/null
+++ b/src/lib/pocketbase.svelte.ts
@@ -0,0 +1,11 @@
+import PocketBase from "pocketbase";
+
+export const pb = new PocketBase("http://localhost:8090");
+
+let user = $state(pb.authStore.model);
+
+pb.authStore.onChange(() => {
+ user = pb.authStore.model;
+});
+
+export let getUser = () => user;