Bläddra i källkod

Create the error page

Lee Morgan 3 veckor sedan
förälder
incheckning
2f48e6bb91
1 ändrade filer med 102 tillägg och 0 borttagningar
  1. 102 0
      src/routes/+error.svelte

+ 102 - 0
src/routes/+error.svelte

@@ -0,0 +1,102 @@
+<script>
+    import { page } from "$app/state";
+    import favicon from "$lib/assets/favicon.png";
+</script>
+
+<main>
+    <div class="glow"></div>
+
+    <img src={favicon} alt="ChatRPG logo" class="logo" />
+
+    <div class="content">
+        <p class="code">Error {page.status}</p>
+        <p class="message">{page.error.message}</p>
+        <a href={page.error.back} class="home-btn">Back</a>
+    </div>
+</main>
+
+<style>
+    main {
+        min-height: 100vh;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: center;
+        padding: 2rem;
+        position: relative;
+        overflow: hidden;
+        background: #0b0b10;
+    }
+
+    .glow {
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        transform: translate(-50%, -50%);
+        width: 600px;
+        height: 400px;
+        background: radial-gradient(ellipse, rgba(192, 132, 252, 0.07) 0%, transparent 70%);
+        pointer-events: none;
+    }
+
+    .content {
+        position: relative;
+        text-align: center;
+        max-width: 480px;
+    }
+
+    .logo {
+        width: 192px;
+        height: 192px;
+        position: absolute;
+        top: 2rem;
+        left: 50%;
+        transform: translateX(-50%);
+    }
+
+    .code {
+        font-size: 7rem;
+        font-weight: 800;
+        line-height: 1;
+        letter-spacing: -4px;
+        background: linear-gradient(135deg, #c084fc, #5a5aff);
+        -webkit-background-clip: text;
+        -webkit-text-fill-color: transparent;
+        margin-bottom: 1rem;
+    }
+
+    h1 {
+        font-size: clamp(1.6rem, 4vw, 2.2rem);
+        font-weight: 800;
+        letter-spacing: -1.5px;
+        color: #e5e5ea;
+        margin-bottom: 0.75rem;
+    }
+
+    .message {
+        font-size: 1rem;
+        color: #6b6b7a;
+        margin-bottom: 2.5rem;
+        line-height: 1.5;
+    }
+
+    .home-btn {
+        display: inline-flex;
+        align-items: center;
+        gap: 8px;
+        padding: 0.65rem 1.5rem;
+        background: #1a1a26;
+        border: 1px solid #2e2e4a;
+        border-radius: 10px;
+        color: #e5e5ea;
+        font-size: 0.95rem;
+        font-weight: 600;
+        text-decoration: none;
+        transition: background 0.15s, border-color 0.15s;
+    }
+
+    .home-btn:hover {
+        background: #252535;
+        border-color: #c084fc;
+    }
+</style>