From 3cba0be430d6b2b0e9f1d4060e81b1c005a48720 Mon Sep 17 00:00:00 2001 From: yyypearl Date: Sun, 18 May 2025 07:17:28 +0900 Subject: [PATCH 01/16] =?UTF-8?q?=E2=9C=A8=20feat(#170):=20=EB=B9=84?= =?UTF-8?q?=ED=9A=8C=EC=9B=90=20=ED=8E=B8=EC=A7=80=20=EC=A0=84=EC=86=A1=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=20=EB=B0=8F=20UI=20=EB=B3=80=EA=B2=BD=20-=20?= =?UTF-8?q?isGuest=EB=A1=9C=20=EB=B9=84=ED=9A=8C=EC=9B=90=20Params=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=20-=20UX=20=EB=9D=BC=EC=9D=B4=ED=8C=85=20con?= =?UTF-8?q?stants=EB=A1=9C=20=EA=B4=80=EB=A6=AC=20=EB=A6=AC=ED=8C=A9?= =?UTF-8?q?=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/login/page.tsx | 15 ++++---- src/app/send/(process)/content/page.tsx | 27 ++++++++------ src/app/send/(process)/preview/page.tsx | 45 ++++++++++++++---------- src/app/send/(process)/receiver/page.tsx | 26 ++++++++------ src/app/send/(process)/template/page.tsx | 10 ++++-- src/app/send/complete/page.tsx | 45 +++++++++++++++--------- src/constants/send/message.ts | 5 +++ src/lib/.gitkeep | 0 8 files changed, 109 insertions(+), 64 deletions(-) create mode 100644 src/constants/send/message.ts delete mode 100644 src/lib/.gitkeep diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index 760717e3..f525a4e6 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -5,14 +5,17 @@ import OauthButton from '@/components/signup/OauthButton'; import { OAUTH } from '@/constants/oauth'; import { theme } from '@/styles/theme'; import { OAuthType } from '@/types/login'; +import { useRouter } from 'next/navigation'; import { Suspense } from 'react'; import styled from 'styled-components'; -const notReady = () => { - alert('준비 중입니다.'); -}; - export default function Login() { + const router = useRouter(); + + const handleGuestLetterStart = () => { + router.push('/send/receiver?guest=true'); + }; + return ( @@ -38,8 +41,8 @@ export default function Login() { ))} - - 로그인 없이 편지 작성해보기 + + 로그인 없이 편지 보내기 diff --git a/src/app/send/(process)/content/page.tsx b/src/app/send/(process)/content/page.tsx index 486129c5..77eec3d0 100644 --- a/src/app/send/(process)/content/page.tsx +++ b/src/app/send/(process)/content/page.tsx @@ -5,7 +5,7 @@ import styled, { css } from 'styled-components'; import { theme } from '@/styles/theme'; import Input from '@/components/common/Input'; import Button from '@/components/common/Button'; -import { useRouter } from 'next/navigation'; +import { useRouter, useSearchParams } from 'next/navigation'; import Image from 'next/image'; import { @@ -22,11 +22,11 @@ import { useToast } from '@/hooks/useToast'; import { postImage } from '@/api/image/image'; import ConfirmModal from '@/components/common/ConfirmModal'; import { draftModalState } from '@/recoil/draftStore'; -import imageCompression from 'browser-image-compression'; import DraftButton from '@/components/draft/DraftButton'; const SendContentPage = () => { const router = useRouter(); + const searchParams = useSearchParams(); const { showToast } = useToast(); const [draftId, setDraftId] = useState(null); const [receiver, setReceiver] = useState(''); @@ -39,6 +39,8 @@ const SendContentPage = () => { const [isImageUploadLoading, setImageUploadLoading] = useState(false); // 서버 이미지 업로드 상태 + const isGuest = searchParams.get('guest') === 'true'; + const [draftModal, setDraftModal] = useRecoilState(draftModalState); const [letterState, setLetterState] = useRecoilState(sendLetterState); const [tempCount, setTempCount] = useState(3); @@ -81,7 +83,7 @@ const SendContentPage = () => { } }; - fetchGetDraftCount(); + if (!isGuest) fetchGetDraftCount(); if (draftKey) { fetchGetDraft(); @@ -263,7 +265,8 @@ const SendContentPage = () => { images: images, previewImages: previewImages })); - router.push('/send/template'); + + router.push(`/send/template${isGuest ? '?guest=true' : ''}`); }; /* 임시 저장 삭제 핸들러 */ @@ -317,13 +320,15 @@ const SendContentPage = () => { return ( <> - + {!isGuest && ( + + )}