summaryrefslogtreecommitdiff
path: root/gui/src/pages/Error.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/pages/Error.tsx')
-rw-r--r--gui/src/pages/Error.tsx60
1 files changed, 60 insertions, 0 deletions
diff --git a/gui/src/pages/Error.tsx b/gui/src/pages/Error.tsx
new file mode 100644
index 0000000..c29e6a6
--- /dev/null
+++ b/gui/src/pages/Error.tsx
@@ -0,0 +1,60 @@
+import "@/styles/ErrorPage.css";
+import Icon from "@/components/Icon";
+import { Link } from "wouter";
+export function P404() {
+ return (
+ <div className="error-page">
+ <div className="error-content">
+ <div className="error-icon-wrapper">
+ <Icon name="crow" size={80} />
+ </div>
+ <h1 className="error-title">404</h1>
+ <h2 className="error-subtitle">Page Not Found</h2>
+ <p className="error-message">
+ The page you're looking for doesn't exist or has been moved.
+ </p>
+ <div className="error-actions">
+ <Link href="/apps/nostrill/f/nostr">
+ <button className="error-btn primary">
+ <Icon name="home" size={18} />
+ Go to Feed
+ </button>
+ </Link>
+ <Link href="/apps/nostrill/sets">
+ <button className="error-btn secondary">
+ <Icon name="settings" size={18} />
+ Settings
+ </button>
+ </Link>
+ </div>
+ </div>
+ </div>
+ );
+}
+
+export function ErrorPage({ msg }: { msg: string }) {
+ return (
+ <div>
+ <P404 />
+ <h3>{msg}</h3>
+ <div className="error-page">
+ <div className="error-content">
+ <div className="error-icon-wrapper">
+ <Icon name="crow" size={80} />
+ </div>
+ <h1 className="error-title">Oops!</h1>
+ <h2 className="error-subtitle">Something went wrong</h2>
+ <p className="error-message">{msg}</p>
+ <div className="error-actions">
+ <Link href="/apps/nostrill/f/nostr">
+ <button className="error-btn primary">
+ <Icon name="home" size={18} />
+ Go to Feed
+ </button>
+ </Link>
+ </div>
+ </div>
+ </div>
+ </div>
+ );
+}