From 4f88ce51dbe1e5e127266992acd26f9eb7edde3d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=ED=95=9C=EB=8F=99=ED=98=84?= <hando1220@ajou.ac.kr>
Date: Sat, 1 Mar 2025 23:09:35 +0900
Subject: [PATCH] =?UTF-8?q?feat:=20404=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?=
 =?UTF-8?q?=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/pages/NotFound.tsx | 30 ++++++++++++++++++++++++++++++
 src/routes.tsx         |  2 ++
 2 files changed, 32 insertions(+)
 create mode 100644 src/pages/NotFound.tsx

diff --git a/src/pages/NotFound.tsx b/src/pages/NotFound.tsx
new file mode 100644
index 0000000..fe6a99d
--- /dev/null
+++ b/src/pages/NotFound.tsx
@@ -0,0 +1,30 @@
+import { Link } from 'react-router';
+import { House } from 'lucide-react';
+import { Card, CardHeader, CardTitle, CardDescription, CardContent } from '@/components/ui/card';
+import { Button } from '@/components/ui/button';
+
+export default function NotFound() {
+  return (
+    <div className="flex w-full justify-center p-6 md:p-10">
+      <Card className="w-full max-w-md text-center">
+        <CardHeader className="flex-row">
+          <div className="flex flex-col space-y-1.5 w-full">
+            <CardTitle className="text-xl">페이지를 찾을 수 없습니다</CardTitle>
+            <CardDescription>404 Not Found</CardDescription>
+          </div>
+        </CardHeader>
+        <CardContent>
+          <p className="text-sm text-muted-foreground">
+            페이지의 주소가 잘못 입력되었거나, 주소의 변경 혹은 삭제로 인해 사용하실 수 없습니다. 입력하신 주소가
+            정확한지 다시 한번 확인해주세요.
+          </p>
+          <Link to="/">
+            <Button className="mt-6">
+              <House className="mr-2 h-4 w-4" /> 홈으로
+            </Button>
+          </Link>
+        </CardContent>
+      </Card>
+    </div>
+  );
+}
diff --git a/src/routes.tsx b/src/routes.tsx
index a8014cf..047e98f 100644
--- a/src/routes.tsx
+++ b/src/routes.tsx
@@ -1,5 +1,6 @@
 import { Routes, Route } from 'react-router';
 import Root from '@/pages/Root';
+import NotFound from '@/pages/NotFound';
 import Home from '@/pages/Home';
 import Login from '@/pages/Login';
 import RoutingList from '@/pages/routing/List';
@@ -13,6 +14,7 @@ export default function AppRoutes() {
         <Route path="routing">
           <Route index element={<RoutingList />} />
         </Route>
+        <Route path="*" element={<NotFound />} />
       </Route>
     </Routes>
   );
-- 
GitLab