about summary refs log tree commit diff
path: root/assets
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-02-21 01:57:38 +0100
committerMel <einebeere@gmail.com>2022-02-21 01:57:38 +0100
commit456d2d49358356b5895ddb71c5895d3eabb7e677 (patch)
tree0e076c193c9a9d27ca8492eaeb2ca9010b719ad2 /assets
parentacd85f6373dbf0edbc2cce5c9256464e5986abf0 (diff)
downloadrook-456d2d49358356b5895ddb71c5895d3eabb7e677.tar.zst
rook-456d2d49358356b5895ddb71c5895d3eabb7e677.zip
Register handler to show toasts for all errors
Diffstat (limited to 'assets')
-rw-r--r--assets/src/entries/request.ts16
-rw-r--r--assets/src/entries/share.ts16
2 files changed, 32 insertions, 0 deletions
diff --git a/assets/src/entries/request.ts b/assets/src/entries/request.ts
index d8b9b93..ee19f81 100644
--- a/assets/src/entries/request.ts
+++ b/assets/src/entries/request.ts
@@ -2,6 +2,22 @@ import RequestPage from "../components/RequestPage.svelte";
 import { RookType } from "../models/rook_type";
 import { setClientType } from "../state/constant_state";
 import { initializeRequest } from "../state/request";
+import { toast, ToastType } from "../state/toast";
+
+window.addEventListener("load", () => {
+    function onError(message: string) {
+        toast({
+            type: ToastType.ERROR,
+            title: "An error occurred!",
+            message: message,
+        });
+    }
+
+    window.addEventListener("error", e => onError(e.message));
+    window.addEventListener("unhandledrejection", e => {
+        onError(e.reason.message ?? e.reason ?? "Unknown error");
+    });
+});
 
 setClientType(RookType.REQUEST);
 initializeRequest();
diff --git a/assets/src/entries/share.ts b/assets/src/entries/share.ts
index f7890b0..008b6cd 100644
--- a/assets/src/entries/share.ts
+++ b/assets/src/entries/share.ts
@@ -2,6 +2,22 @@ import SharePage from "../components/SharePage.svelte";
 import { RookType } from "../models/rook_type";
 import { setClientType } from "../state/constant_state";
 import { initializeShare } from "../state/share";
+import { toast, ToastType } from "../state/toast";
+
+window.addEventListener("load", () => {
+    function onError(message: string) {
+        toast({
+            type: ToastType.ERROR,
+            title: "An error occurred!",
+            message: message,
+        });
+    }
+
+    window.addEventListener("error", e => onError(e.message));
+    window.addEventListener("unhandledrejection", e => {
+        onError(e.reason.message ?? e.reason ?? "Unknown error");
+    });
+});
 
 setClientType(RookType.SHARE);
 initializeShare();