diff --git a/apps/admin/app/error.tsx b/apps/admin/app/error.tsx index 1344c8e2..a97dbdbc 100644 --- a/apps/admin/app/error.tsx +++ b/apps/admin/app/error.tsx @@ -1,6 +1,47 @@ "use client"; -const ErrorPage = () => { - return
error
; + +import { css } from "@styled-system/css"; +import { Flex } from "@styled-system/jsx"; +import { Header, Text } from "@wow-class/ui"; +import Image from "next/image"; +import Button from "wowds-ui/Button"; + +const ErrorPage = ({ reset }: { reset: () => void }) => { + const handleClickResetButton = () => { + reset(); + }; + + return ( + +
+
+ error + + 에러가 발생했어요 + + +
+ + ); }; export default ErrorPage; + +const errorPageContentStyle = css({ + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "center", + gap: "48px", + height: "100%", +}); + +const buttonStyle = { + width: 328, +}; diff --git a/apps/admin/app/global.css b/apps/admin/app/global.css index 82bd5a03..668ebfef 100644 --- a/apps/admin/app/global.css +++ b/apps/admin/app/global.css @@ -6,4 +6,5 @@ body { font-family: "SUIT" !important; display: flex; flex-direction: row; + min-height: 100vh; } diff --git a/apps/admin/app/not-found.tsx b/apps/admin/app/not-found.tsx index 3ef55fd2..72365921 100644 --- a/apps/admin/app/not-found.tsx +++ b/apps/admin/app/not-found.tsx @@ -1,5 +1,54 @@ -const NotFound = () => { - return
요청하신 페이지를 찾을 수 없어요.
; +import { css } from "@styled-system/css"; +import { Flex } from "@styled-system/jsx"; +import { Header, Text } from "@wow-class/ui"; +import { routerPath } from "constants/router/routerPath"; +import Image from "next/image"; +import Link from "next/link"; +import Button from "wowds-ui/Button"; + +const NotFoundPage = () => { + return ( + +
+
+ not-found + + + 오류가 발생했어요 + + + 요청하신 페이지를 찾을 수 없어요 + + + +
+ + ); }; -export default NotFound; +export default NotFoundPage; + +const notFoundPageContentStyle = css({ + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "center", + gap: "48px", + height: "100%", +}); + +const buttonStyle = { + width: 328, +}; diff --git a/apps/admin/public/images/error.svg b/apps/admin/public/images/error.svg new file mode 100644 index 00000000..2b8ff63c --- /dev/null +++ b/apps/admin/public/images/error.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/admin/public/images/not-found.svg b/apps/admin/public/images/not-found.svg new file mode 100644 index 00000000..caf9c0f6 --- /dev/null +++ b/apps/admin/public/images/not-found.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/client/app/error.tsx b/apps/client/app/error.tsx index 1344c8e2..a97dbdbc 100644 --- a/apps/client/app/error.tsx +++ b/apps/client/app/error.tsx @@ -1,6 +1,47 @@ "use client"; -const ErrorPage = () => { - return
error
; + +import { css } from "@styled-system/css"; +import { Flex } from "@styled-system/jsx"; +import { Header, Text } from "@wow-class/ui"; +import Image from "next/image"; +import Button from "wowds-ui/Button"; + +const ErrorPage = ({ reset }: { reset: () => void }) => { + const handleClickResetButton = () => { + reset(); + }; + + return ( + +
+
+ error + + 에러가 발생했어요 + + +
+ + ); }; export default ErrorPage; + +const errorPageContentStyle = css({ + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "center", + gap: "48px", + height: "100%", +}); + +const buttonStyle = { + width: 328, +}; diff --git a/apps/client/app/global.css b/apps/client/app/global.css index 82bd5a03..668ebfef 100644 --- a/apps/client/app/global.css +++ b/apps/client/app/global.css @@ -6,4 +6,5 @@ body { font-family: "SUIT" !important; display: flex; flex-direction: row; + min-height: 100vh; } diff --git a/apps/client/app/not-found.tsx b/apps/client/app/not-found.tsx new file mode 100644 index 00000000..21b859a2 --- /dev/null +++ b/apps/client/app/not-found.tsx @@ -0,0 +1,54 @@ +import { css } from "@styled-system/css"; +import { Flex } from "@styled-system/jsx"; +import { Header, Text } from "@wow-class/ui"; +import { routePath } from "constants/routePath"; +import Image from "next/image"; +import Link from "next/link"; +import Button from "wowds-ui/Button"; + +const NotFoundPage = () => { + return ( + +
+
+ not-found + + + 오류가 발생했어요 + + + 요청하신 페이지를 찾을 수 없어요 + + + +
+ + ); +}; + +export default NotFoundPage; + +const notFoundPageContentStyle = css({ + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "center", + gap: "48px", + height: "100%", +}); + +const buttonStyle = { + width: 328, +}; diff --git a/apps/client/package.json b/apps/client/package.json index b50ac707..76b71770 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -16,7 +16,7 @@ "react-dom": "^18.3.1", "wowds-icons": "^0.1.3", "wowds-tokens": "^0.1.1", - "wowds-ui": "^0.1.8" + "wowds-ui": "^0.1.14" }, "devDependencies": { "@types/node": "^20", diff --git a/apps/client/public/images/error.svg b/apps/client/public/images/error.svg new file mode 100644 index 00000000..2b8ff63c --- /dev/null +++ b/apps/client/public/images/error.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/client/public/images/not-found.svg b/apps/client/public/images/not-found.svg new file mode 100644 index 00000000..caf9c0f6 --- /dev/null +++ b/apps/client/public/images/not-found.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c10d2675..6964315a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,7 +71,7 @@ importers: version: 18.3.1(react@18.3.1) react-hook-form: specifier: ^7.52.2 - version: 7.52.2(react@18.3.1) + version: 7.53.0(react@18.3.1) devDependencies: '@types/node': specifier: ^20 @@ -128,8 +128,8 @@ importers: specifier: ^0.1.1 version: 0.1.3 wowds-ui: - specifier: ^0.1.8 - version: 0.1.12(next@14.2.5)(react-dom@18.3.1)(react@18.3.1) + specifier: ^0.1.14 + version: 0.1.14(next@14.2.5)(react-dom@18.3.1)(react@18.3.1) devDependencies: '@types/node': specifier: ^20 @@ -11591,8 +11591,8 @@ packages: warning: 4.0.3 dev: false - /react-hook-form@7.52.2(react@18.3.1): - resolution: {integrity: sha512-pqfPEbERnxxiNMPd0bzmt1tuaPcVccywFDpyk2uV5xCIBphHV5T8SVnX9/o3kplPE1zzKt77+YIoq+EMwJp56A==} + /react-hook-form@7.53.0(react@18.3.1): + resolution: {integrity: sha512-M1n3HhqCww6S2hxLxciEXy2oISPnAzxY7gvwVPrtlczTM/1dDadXgUxDpHMrMTblDOcm/AXtXxHwZ3jpg1mqKQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 @@ -13740,21 +13740,6 @@ packages: - react-dom dev: false - /wowds-ui@0.1.14(next@14.2.5)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-pIj4lOL/sVoHU6x+YtnsUbmmTHDDjBC8dkO4W6xN7jxJDFgCivK47SUA8ltiI4OMBLsuqUBfqdRuZQbR25IJnw==} - peerDependencies: - next: ^14.1.1 - react: ^18.2.0 - dependencies: - clsx: 2.1.1 - lottie-react: 2.4.0(react-dom@18.3.1)(react@18.3.1) - next: 14.2.5(@babel/core@7.25.2)(react-dom@18.3.1)(react@18.3.1) - react: 18.3.1 - wowds-icons: 0.1.3 - transitivePeerDependencies: - - react-dom - dev: false - /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'}