diff --git a/package-lock.json b/package-lock.json
index 83633c1..ee1c21b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,6 +12,7 @@
"@docusaurus/preset-classic": "3.7.0",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
+ "pocketbase": "^0.25.1",
"prism-react-renderer": "^2.3.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
@@ -12146,6 +12147,12 @@
"node": ">=4"
}
},
+ "node_modules/pocketbase": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/pocketbase/-/pocketbase-0.25.1.tgz",
+ "integrity": "sha512-2IH0KLI/qMNR/E17C7BGWX2FxW7Tead+igLHOWZ45P56v/NyVT18Jnmddeft+3qWWGL1Hog2F8bc4orWV/+Fcg==",
+ "license": "MIT"
+ },
"node_modules/postcss": {
"version": "8.5.1",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz",
diff --git a/package.json b/package.json
index f34a65c..97fe992 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"@docusaurus/preset-classic": "3.7.0",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
+ "pocketbase": "^0.25.1",
"prism-react-renderer": "^2.3.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
diff --git a/src/pocketbase.js b/src/pocketbase.js
new file mode 100644
index 0000000..96b8fbf
--- /dev/null
+++ b/src/pocketbase.js
@@ -0,0 +1,26 @@
+import PocketBase from "pocketbase";
+
+//initialize pocketbase
+const app = (() => {
+ const POCKETBASE_URL = 'https://pocketbase-ai.wirediv.dev/';
+ return new PocketBase(POCKETBASE_URL);
+})();
+
+//pass authstore to be used to callback when the user is authenticated
+export const auth = app.authStore;
+
+//clears the auth and logs the user out
+export const logout = (afterAction = () => {}) => {
+ app.authStore.clear();
+ afterAction(null);
+};
+
+//method to authenticate the user with pocketbase
+export const signIn = async (email, password) => {
+ try {
+ await app.collection("users").authWithPassword(email, password);
+ } catch (err) {
+ console.error(err);
+ alert(err.message);
+ }
+};
\ No newline at end of file
diff --git a/src/theme/ColorModeToggle/index.js b/src/theme/ColorModeToggle/index.js
new file mode 100644
index 0000000..302ca28
--- /dev/null
+++ b/src/theme/ColorModeToggle/index.js
@@ -0,0 +1,14 @@
+import React from 'react';
+import ColorModeToggle from '@theme-original/ColorModeToggle';
+import {logout} from '@site/src/pocketbase';
+
+export default function ColorModeToggleWrapper(props) {
+ return (
+ <>
+