Skip to content

Commit c6941c0

Browse files
committed
[portal][feat] add 404 page
1 parent 9e7f515 commit c6941c0

File tree

1 file changed

+115
-0
lines changed

1 file changed

+115
-0
lines changed

apps/portal/src/pages/404.tsx

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
import Link from 'next/link';
2+
import { ChevronRightIcon } from '@heroicons/react/20/solid';
3+
import {
4+
BriefcaseIcon,
5+
CurrencyDollarIcon,
6+
DocumentTextIcon,
7+
} from '@heroicons/react/24/outline';
8+
9+
const links = [
10+
{
11+
description: (
12+
<>
13+
Explore offer data points, benchmark and analyze your offers
14+
anonymously.
15+
</>
16+
),
17+
href: '/offers',
18+
icon: CurrencyDollarIcon,
19+
title: 'Offers Repo',
20+
},
21+
{
22+
description: (
23+
<>
24+
A community driven interview question bank. Learn how others are
25+
answering interview questions.
26+
</>
27+
),
28+
href: '/questions',
29+
icon: BriefcaseIcon,
30+
title: 'Questions Bank',
31+
},
32+
{
33+
description: (
34+
<>
35+
Submit your resume and collect invaluable feedback from our helpful
36+
community of Software Engineers and hiring managers.
37+
</>
38+
),
39+
href: '/resumes',
40+
icon: DocumentTextIcon,
41+
title: 'Resumes Review',
42+
},
43+
];
44+
45+
export default function Example() {
46+
return (
47+
<div className="bg-white">
48+
<main className="mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8">
49+
<div className="mx-auto max-w-xl py-16 sm:py-24">
50+
<div className="text-center">
51+
<h1 className="mt-2 text-4xl font-bold tracking-tight text-slate-900 sm:text-5xl">
52+
Page Not Found
53+
</h1>
54+
<p className="mt-2 text-lg text-slate-500">
55+
Oops! You tried to access a page that doesn't exist.
56+
</p>
57+
</div>
58+
<div className="mt-12">
59+
<h2 className="text-base font-medium text-slate-500">
60+
You may be trying to access the following services
61+
</h2>
62+
<ul
63+
className="mt-4 divide-y divide-slate-200 border-t border-b border-slate-200"
64+
role="list">
65+
{links.map((link) => (
66+
<li
67+
key={link.href}
68+
className="relative flex items-start space-x-4 py-6">
69+
<div className="flex-shrink-0">
70+
<span className="bg-primary-50 flex h-12 w-12 items-center justify-center rounded-lg">
71+
<link.icon
72+
aria-hidden="true"
73+
className="text-primary-700 h-6 w-6"
74+
/>
75+
</span>
76+
</div>
77+
<div className="min-w-0 flex-1">
78+
<h3 className="text-base font-medium text-slate-900">
79+
<span className="focus-within:ring-primary-500 rounded-sm focus-within:ring-2 focus-within:ring-offset-2">
80+
<Link className="focus:outline-none" href={link.href}>
81+
<span
82+
aria-hidden="true"
83+
className="absolute inset-0"
84+
/>
85+
{link.title}
86+
</Link>
87+
</span>
88+
</h3>
89+
<p className="text-base text-slate-500">
90+
{link.description}
91+
</p>
92+
</div>
93+
<div className="flex-shrink-0 self-center">
94+
<ChevronRightIcon
95+
aria-hidden="true"
96+
className="h-5 w-5 text-slate-400"
97+
/>
98+
</div>
99+
</li>
100+
))}
101+
</ul>
102+
<div className="mt-8">
103+
<Link
104+
className="text-primary-600 hover:text-primary-500 text-base font-medium"
105+
href="/">
106+
Or go back home
107+
<span aria-hidden="true"> &rarr;</span>
108+
</Link>
109+
</div>
110+
</div>
111+
</div>
112+
</main>
113+
</div>
114+
);
115+
}

0 commit comments

Comments
 (0)