summaryrefslogtreecommitdiff
path: root/gui/src/pages/Error.tsx
blob: c29e6a62b34662d772916e17f67cdd0788ce1d59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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>
  );
}