From caaed26cf9125cafc8302459b3062d22541c530a Mon Sep 17 00:00:00 2001 From: seoyeon Moon <66253833+seoyeon08@users.noreply.github.com> Date: Tue, 2 Jul 2024 10:42:13 +0900 Subject: [PATCH] =?UTF-8?q?[Feat/#32]=20loading=20&=20error=20=EC=B0=BD=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84=20(#33)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: calculator 숫자 formatting * feat: 매출 page 숫자 formatting * feat: LessonDetail 가격 숫자 formatting * feat: mypage hanamoney 숫자 formatting * feat: Loading 화면 추가 * feat: Error 화면 추가 --- public/images/loading.gif | Bin 0 -> 36635 bytes src/pages/ErrorPage.tsx | 24 ++++++++++++++++++++++++ src/pages/Loading.tsx | 11 +++++++++++ 3 files changed, 35 insertions(+) create mode 100644 public/images/loading.gif create mode 100644 src/pages/ErrorPage.tsx create mode 100644 src/pages/Loading.tsx diff --git a/public/images/loading.gif b/public/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..64b2b921213d3d2e6f3034eda8e055392aead0fe GIT binary patch literal 36635 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 literal 0 HcmV?d00001 diff --git a/src/pages/ErrorPage.tsx b/src/pages/ErrorPage.tsx new file mode 100644 index 0000000..d058548 --- /dev/null +++ b/src/pages/ErrorPage.tsx @@ -0,0 +1,24 @@ +import { BiErrorCircle } from 'react-icons/bi'; +import { Button } from '../components/common/Button'; +import { useNavigate } from 'react-router-dom'; + +export const ErrorPage = () => { + const navigate = useNavigate(); + return ( + <div className='flex flex-col text-center justify-center items-center h-screen'> + <BiErrorCircle className='text-hanaSilver w-20 h-20 mb-6' /> + <p className='font-hanaRegular text-2xl'> + 서비스 이용에 <br /> 불편을 드려 죄송합니다. + </p> + <p className='font-hanaLight text-hanaNavGray text-center mt-3'> + 이용하고자 하는 업무에 장애가 발생하였습니다. <br /> 잠시 후 다시 + 시도하여 주시기 바랍니다. + </p> + <Button + message='메인화면 이동' + isActive={true} + onClick={() => navigate('/')} + /> + </div> + ); +}; diff --git a/src/pages/Loading.tsx b/src/pages/Loading.tsx new file mode 100644 index 0000000..220e979 --- /dev/null +++ b/src/pages/Loading.tsx @@ -0,0 +1,11 @@ +export const Loading = () => { + return ( + <div className='flex flex-col h-screen justify-center items-center'> + <img src='/images/loading.gif' alt='' className='w-36 h-16 ml-6' /> + <div className='flex flex-row justify-center items-center text-3xl text-hanaNavGreen font-hanaBold'> + <img src='/images/logo.svg' alt='' /> + <p className='ml-2 pt-2'>하나Fun!</p> + </div> + </div> + ); +};