diff options
Diffstat (limited to 'gui/src/pages/Error.tsx')
| -rw-r--r-- | gui/src/pages/Error.tsx | 60 |
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> + ); +} |
