docs: add error page (#13839)

This commit is contained in:
Shahed Nasser
2025-10-23 18:10:42 +03:00
committed by GitHub
parent 4ab185c685
commit 012e30801e
20 changed files with 653 additions and 62 deletions

View File

@@ -0,0 +1,12 @@
import { Inter, Roboto_Mono } from "next/font/google"
export const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
export const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})

View File

@@ -0,0 +1,21 @@
"use client"
import { BareboneLayout, BrowserProvider, ErrorPage } from "docs-ui"
import { inter, robotoMono } from "./fonts"
import clsx from "clsx"
import "./globals.css"
export default function Error() {
return (
<BareboneLayout
htmlClassName={clsx(inter.variable, robotoMono.variable)}
gaId={process.env.NEXT_PUBLIC_GA_ID}
>
<body className="w-screen h-screen overflow-hidden bg-medusa-bg-subtle">
<BrowserProvider>
<ErrorPage />
</BrowserProvider>
</body>
</BareboneLayout>
)
}

View File

@@ -1,9 +1,9 @@
import "./globals.css"
import Providers from "../providers"
import { BareboneLayout, WideLayout } from "docs-ui"
import { Inter, Roboto_Mono } from "next/font/google"
import clsx from "clsx"
import { Metadata } from "next"
import { inter, robotoMono } from "./fonts"
const ogImage =
"https://res.cloudinary.com/dza7lstvk/image/upload/v1732200992/Medusa%20Resources/opengraph-image_daq6nx.jpg"
@@ -36,17 +36,6 @@ export const metadata: Metadata = {
},
}
const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})
export default function RootLayout({
children,
}: {

View File

@@ -0,0 +1,21 @@
"use client"
import { BareboneLayout, BrowserProvider, ErrorPage } from "docs-ui"
import { inter, robotoMono } from "./fonts"
import clsx from "clsx"
import "./globals.css"
export default function Error() {
return (
<BareboneLayout
htmlClassName={clsx(inter.variable, robotoMono.variable)}
gaId={process.env.NEXT_PUBLIC_GA_ID}
>
<body className="w-screen h-screen overflow-hidden bg-medusa-bg-subtle">
<BrowserProvider>
<ErrorPage />
</BrowserProvider>
</body>
</BareboneLayout>
)
}

View File

@@ -0,0 +1,12 @@
import { Inter, Roboto_Mono } from "next/font/google"
export const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
export const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})

View File

@@ -0,0 +1,21 @@
"use client"
import { BareboneLayout, BrowserProvider, ErrorPage } from "docs-ui"
import { inter, robotoMono } from "./fonts"
import clsx from "clsx"
import "./globals.css"
export default function Error() {
return (
<BareboneLayout
htmlClassName={clsx(inter.variable, robotoMono.variable)}
gaId={process.env.NEXT_PUBLIC_GA_ID}
>
<body className="w-screen h-screen overflow-hidden bg-medusa-bg-subtle">
<BrowserProvider>
<ErrorPage />
</BrowserProvider>
</body>
</BareboneLayout>
)
}

View File

@@ -1,11 +1,11 @@
import type { Metadata } from "next"
import { Inter, Roboto_Mono } from "next/font/google"
import Providers from "@/providers"
import "./globals.css"
import { BareboneLayout, TightLayout } from "docs-ui"
import { config } from "@/config"
import clsx from "clsx"
import Footer from "../components/Footer"
import { inter, robotoMono } from "./fonts"
const ogImage =
"https://res.cloudinary.com/dza7lstvk/image/upload/v1732200992/Medusa%20Resources/opengraph-image_daq6nx.jpg"
@@ -42,17 +42,6 @@ export const metadata: Metadata = {
},
}
export const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
export const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})
export default function RootLayout({
children,
}: {

View File

@@ -0,0 +1,12 @@
import { Inter, Roboto_Mono } from "next/font/google"
export const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
export const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})

View File

@@ -0,0 +1,21 @@
"use client"
import { BareboneLayout, BrowserProvider, ErrorPage } from "docs-ui"
import { inter, robotoMono } from "./fonts"
import clsx from "clsx"
import "./globals.css"
export default function Error() {
return (
<BareboneLayout
htmlClassName={clsx(inter.variable, robotoMono.variable)}
gaId={process.env.NEXT_PUBLIC_GA_ID}
>
<body className="w-screen h-screen overflow-hidden bg-medusa-bg-subtle">
<BrowserProvider>
<ErrorPage />
</BrowserProvider>
</body>
</BareboneLayout>
)
}

View File

@@ -1,11 +1,11 @@
import type { Metadata } from "next"
import { Inter, Roboto_Mono } from "next/font/google"
import Providers from "@/providers"
import "./globals.css"
import { BareboneLayout, TightLayout } from "docs-ui"
import { config } from "@/config"
import clsx from "clsx"
import Footer from "../components/Footer"
import { inter, robotoMono } from "./fonts"
const ogImage =
"https://res.cloudinary.com/dza7lstvk/image/upload/v1732200992/Medusa%20Resources/opengraph-image_daq6nx.jpg"
@@ -42,17 +42,6 @@ export const metadata: Metadata = {
},
}
export const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
export const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})
export default function RootLayout({
children,
}: {

View File

@@ -1,5 +1,4 @@
import { cache, Suspense } from "react"
import { Loading } from "docs-ui"
import { cache } from "react"
import path from "path"
import fs from "fs/promises"
import { ReferenceMDX } from "../../../components/ReferenceMDX"

12
www/apps/ui/app/fonts.ts Normal file
View File

@@ -0,0 +1,12 @@
import { Inter, Roboto_Mono } from "next/font/google"
export const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
export const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})

View File

@@ -0,0 +1,21 @@
"use client"
import { BareboneLayout, BrowserProvider, ErrorPage } from "docs-ui"
import { inter, robotoMono } from "./fonts"
import clsx from "clsx"
import "./globals.css"
export default function Error() {
return (
<BareboneLayout
htmlClassName={clsx(inter.variable, robotoMono.variable)}
gaId={process.env.NEXT_PUBLIC_GA_ID}
>
<body className="w-screen h-screen overflow-hidden bg-medusa-bg-subtle">
<BrowserProvider>
<ErrorPage />
</BrowserProvider>
</body>
</BareboneLayout>
)
}

View File

@@ -1,11 +1,11 @@
import type { Metadata } from "next"
import { Inter, Roboto_Mono } from "next/font/google"
import Providers from "@/providers"
import "./globals.css"
import { BareboneLayout, TightLayout } from "docs-ui"
import { config } from "@/config"
import clsx from "clsx"
import Footer from "@/components/Footer"
import { inter, robotoMono } from "./fonts"
const ogImage =
"https://res.cloudinary.com/dza7lstvk/image/upload/v1732200992/Medusa%20Resources/opengraph-image_daq6nx.jpg"
@@ -42,17 +42,6 @@ export const metadata: Metadata = {
},
}
export const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
export const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})
export default function RootLayout({
children,
}: {

View File

@@ -0,0 +1,12 @@
import { Inter, Roboto_Mono } from "next/font/google"
export const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
export const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})

View File

@@ -0,0 +1,21 @@
"use client"
import { BareboneLayout, BrowserProvider, ErrorPage } from "docs-ui"
import { inter, robotoMono } from "./fonts"
import clsx from "clsx"
import "./globals.css"
export default function Error() {
return (
<BareboneLayout
htmlClassName={clsx(inter.variable, robotoMono.variable)}
gaId={process.env.NEXT_PUBLIC_GA_ID}
>
<body className="w-screen h-screen overflow-hidden bg-medusa-bg-subtle">
<BrowserProvider>
<ErrorPage />
</BrowserProvider>
</body>
</BareboneLayout>
)
}

View File

@@ -1,11 +1,11 @@
import type { Metadata } from "next"
import { Inter, Roboto_Mono } from "next/font/google"
import Providers from "@/providers"
import "./globals.css"
import { BareboneLayout, TightLayout } from "docs-ui"
import { config } from "@/config"
import clsx from "clsx"
import Footer from "../components/Footer"
import { inter, robotoMono } from "./fonts"
const ogImage =
"https://res.cloudinary.com/dza7lstvk/image/upload/v1732200992/Medusa%20Resources/opengraph-image_daq6nx.jpg"
@@ -41,17 +41,6 @@ export const metadata: Metadata = {
},
}
export const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
weight: ["400", "500"],
})
export const robotoMono = Roboto_Mono({
subsets: ["latin"],
variable: "--font-roboto-mono",
})
export default function RootLayout({
children,
}: {

View File

@@ -0,0 +1,428 @@
import React from "react"
export const ErrorPageIcon = () => {
return (
<svg
width="135"
height="147"
viewBox="0 0 135 147"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M134.25 128.75V139.5C134.25 143.228 131.228 146.25 127.5 146.25H7.5C3.77208 146.25 0.75 143.228 0.75 139.5V128.75H134.25Z"
className="fill-medusa-bg-base-hover"
/>
<path
d="M134.25 128.75V139.5C134.25 143.228 131.228 146.25 127.5 146.25H7.5C3.77208 146.25 0.75 143.228 0.75 139.5V128.75H134.25Z"
className="stroke-medusa-fg-subtle"
strokeWidth="1.5"
/>
<rect
x="3.5"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="7.44281"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="11.3856"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="15.3284"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="19.2712"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="23.2141"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="27.1569"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="31.0997"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="35.0425"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="38.9853"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="42.9281"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="46.8709"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="50.8137"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="54.7566"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="58.6994"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="62.6422"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="66.585"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="70.5278"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="74.4706"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="78.4135"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="82.3563"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="86.2991"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="90.2419"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="94.1847"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="98.1275"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="102.07"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="106.013"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="109.956"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="113.899"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="117.842"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="121.784"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="125.727"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="129.67"
y="129.5"
width="1.83"
height="16"
className="fill-medusa-bg-switch-off-hover"
/>
<path
d="M109.5 0.75C123.169 0.75 134.25 11.831 134.25 25.5V130.25H0.75V25.5C0.75 11.831 11.831 0.75 25.5 0.75H109.5Z"
className="fill-medusa-bg-base stroke-medusa-fg-subtle"
strokeWidth="1.5"
/>
<rect
x="13.5"
y="113.5"
width="12"
height="4"
rx="2"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="85.5"
y="101.5"
width="36"
height="4"
rx="2"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="12.75"
y="12.75"
width="109.5"
height="77.5"
rx="12.75"
className="fill-medusa-bg-base stroke-medusa-bg-switch-off-hover"
strokeWidth="1.5"
/>
<rect
x="18.75"
y="18.75"
width="97.5"
height="65.5"
rx="6.75"
className="fill-medusa-bg-base-hover stroke-medusa-fg-subtle"
strokeWidth="1.5"
/>
<rect
x="18.75"
y="17.75"
width="97.5"
height="65.5"
rx="6.75"
className="fill-medusa-bg-base-hover stroke-medusa-fg-subtle"
strokeWidth="1.5"
/>
<path
d="M99.0345 70.1379H96.9655C96.68 70.1379 96.4482 69.9062 96.4482 69.6207C96.4482 68.7641 97.1434 68.069 98 68.069C98.8565 68.069 99.5517 68.7641 99.5517 69.6207C99.5517 69.9062 99.32 70.1379 99.0345 70.1379Z"
className="fill-medusa-fg-subtle"
/>
<path
d="M98 73.5C102.142 73.5 105.5 70.1421 105.5 66C105.5 61.8579 102.142 58.5 98 58.5C93.8579 58.5 90.5 61.8579 90.5 66C90.5 70.1421 93.8579 73.5 98 73.5Z"
className="stroke-medusa-fg-subtle"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M93.6035 64.1897L96.1897 66.7759"
className="stroke-medusa-fg-subtle"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M96.1897 64.1897L93.6035 66.7759"
className="stroke-medusa-fg-subtle"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M99.8104 64.1897L102.397 66.7759"
className="stroke-medusa-fg-subtle"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M102.397 64.1897L99.8104 66.7759"
className="stroke-medusa-fg-subtle"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<rect
x="37.5"
y="37.5"
width="14"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="54.5"
y="37.5"
width="16"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="37.5"
y="69.5"
width="16"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="53.5"
y="53.5"
width="26"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="60.5"
y="45.5"
width="28"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="45.5"
y="45.5"
width="12"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="45.5"
y="61.5"
width="16"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="64.5"
y="61.5"
width="10"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="29.5"
y="29.5"
width="16"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="48.5"
y="29.5"
width="8"
height="3"
rx="1.5"
className="fill-medusa-bg-switch-off-hover"
/>
<rect
x="55.5"
y="68.5"
width="2"
height="5"
className="fill-medusa-fg-subtle"
/>
</svg>
)
}

View File

@@ -0,0 +1,32 @@
import React from "react"
import { ErrorPageIcon } from "./Icon"
import Link from "next/link"
import { Button } from "../Button"
import { GITHUB_ISSUES_LINK } from "../../constants"
export const ErrorPage = () => {
return (
<div className="w-full h-full bg-medusa-bg-subtle flex items-center justify-center">
<div className="flex gap-docs_1.5 flex-col items-center justify-center w-fit max-w-lg">
<ErrorPageIcon />
<div className="flex flex-col items-center gap-docs_0.5">
<h1 className="text-medusa-fg-base text-2xl">
Oops! Something went wrong.
</h1>
<span className="text-medusa-fg-subtle txt-large-plus text-pretty text-center">
Dont worry. Our team have automatically been notified of this issue
and they are working on it. Please try again later.
</span>
</div>
<div className="flex items-center justify-center gap-docs_0.75">
<Link href={GITHUB_ISSUES_LINK} target="_blank" rel="noreferrer">
<Button variant="secondary">Report issue</Button>
</Link>
<Link href="/" passHref>
<Button variant="primary">Go to homepage</Button>
</Link>
</div>
</div>
</div>
)
}

View File

@@ -22,6 +22,7 @@ export * from "./Details/Summary"
export * from "./DetailsList"
export * from "./DottedSeparator"
export * from "./EditButton"
export * from "./ErrorPage"
export * from "./Notices/ExpandableNotice"
export * from "./Notices/FeatureFlagNotice"
export * from "./Notices/DeprecatedNotice"