diff --git a/src/app/util.js b/src/app/util.js
index 16d2b2a..c48fb1d 100644
--- a/src/app/util.js
+++ b/src/app/util.js
@@ -392,16 +392,18 @@ export function logAndCapture(e) {
Sentry.captureException(e);
}
-export function MajorErrorMessage({ error, variant = "unexpected" }) {
+export function MajorErrorMessage({ error = null, variant = "unexpected" }) {
// If this is a GraphQL Bad Request error, show the message of the first
// error the server returned. Otherwise, just use the normal error message!
const message =
- error?.networkError?.result?.errors?.[0]?.message || error.message;
+ error?.networkError?.result?.errors?.[0]?.message || error?.message || null;
// Log the detailed error to the console, so we can have a good debug
// experience without the parent worrying about it!
React.useEffect(() => {
- console.error(error);
+ if (error) {
+ console.error(error);
+ }
}, [error]);
return (
@@ -428,6 +430,7 @@ export function MajorErrorMessage({ error, variant = "unexpected" }) {
{variant === "unexpected" && <>Ah dang, I broke it ๐>}
{variant === "network" && <>Oops, it didn't work, sorry ๐>}
+ {variant === "not-found" && <>Oops, page not found ๐>}
{variant === "unexpected" && (
@@ -451,15 +454,28 @@ export function MajorErrorMessage({ error, variant = "unexpected" }) {
!
>
)}
+ {variant === "not-found" && (
+ <>
+ We couldn't find this page. Maybe it's been deleted? Check the URL
+ and try againโand if you keep having trouble, please tell me more
+ at{" "}
+
+ matchu@openneo.net
+
+ !
+ >
+ )}
-
-
- "{message}"
-
+ {message && (
+
+
+ "{message}"
+
+ )}
);