summaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authoraltaf-creator <dev@altafcreator.com>2025-11-09 11:15:19 +0800
committeraltaf-creator <dev@altafcreator.com>2025-11-09 11:15:19 +0800
commit8eff962cab608341a6f2fedc640a0e32d96f26e2 (patch)
tree05534d1a720ddc3691d346c69b4972555820a061 /frontend
pain
Diffstat (limited to 'frontend')
-rw-r--r--frontend/OneSignalSDKWorker.js1
-rw-r--r--frontend/index.html14
-rw-r--r--frontend/main.js34
3 files changed, 49 insertions, 0 deletions
diff --git a/frontend/OneSignalSDKWorker.js b/frontend/OneSignalSDKWorker.js
new file mode 100644
index 0000000..067cf4d
--- /dev/null
+++ b/frontend/OneSignalSDKWorker.js
@@ -0,0 +1 @@
+importScripts("https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.sw.js"); \ No newline at end of file
diff --git a/frontend/index.html b/frontend/index.html
new file mode 100644
index 0000000..e11b1b2
--- /dev/null
+++ b/frontend/index.html
@@ -0,0 +1,14 @@
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>frontend</title>
+ </head>
+ <body>
+ <div id="app"></div>
+ <button id="notbtn">Grant notification permissions</button>
+ <script src="/src/main.js" type="module"></script>
+ </body>
+</html>
diff --git a/frontend/main.js b/frontend/main.js
new file mode 100644
index 0000000..e2a8a27
--- /dev/null
+++ b/frontend/main.js
@@ -0,0 +1,34 @@
+const btn = document.getElementById("notbtn")
+btn.addEventListener("click", () => requestPermission())
+function requestPermission() {
+ console.log("Requesting permission...");
+ Notification.requestPermission().then((permission) => {
+ if (permission === "granted") {
+ console.log("Notification permission granted.");
+ }
+ });
+}
+
+if ("serviceWorker" in navigator) {
+ navigator.serviceWorker
+ .register("OneSignalSDKWorker.js")
+ .then((reg) => console.log("SW registered:", reg))
+ .catch((err) => console.error("SW failed:", err));
+}
+
+document.cookie = "session_key=0"
+
+const data = {
+ duration: 2,
+ block: 1,
+ machine: 2,
+}
+
+fetch("http://localhost:8000/start", {
+ credentials: "include",
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify(data)
+});