From 420a543f8af3075502b0a7530a0fa06af264eb8b Mon Sep 17 00:00:00 2001
From: polwex <polwex@sortug.com>
Date: Tue, 18 Nov 2025 16:59:24 +0700
Subject: refactoring gui too, improvements to Nostr user logic

---
 gui/src/pages/Error.tsx | 60 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 gui/src/pages/Error.tsx

(limited to 'gui/src/pages/Error.tsx')

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>
+  );
+}
-- 
cgit v1.2.3

