Skip to content

Commit

Permalink
Feature: 게스트 메시지 페이지 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
6mn12j committed Mar 27, 2024
1 parent ae9172c commit 0268ab4
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 9 deletions.
Binary file added public/birthdayCakeOutline.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
67 changes: 59 additions & 8 deletions src/app/box/guest/[boxId]/message/page.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,70 @@
'use client';

import { useState } from 'react';
import { useForm } from 'react-hook-form';
import { useRouter } from 'next/navigation';
import { useEffect, useState } from 'react';
import { FieldValues, FormProvider, useForm } from 'react-hook-form';
import styled from 'styled-components';

import GuestDetail from '@/components/Funnel/Message/GuestDetail';
import BeforeOpened from '@/components/Funnel/DonationBox/BeforeOpened';
import Opened from '@/components/Funnel/DonationBox/Opened';
import Complete from '@/components/Funnel/GuestMessage/Complete';
import GuestDetail from '@/components/Funnel/GuestMessage/GuestDetail';
import Message from '@/components/Funnel/GuestMessage/Message';
import { useUser } from '@/store/userStore';

function MessagePage() {
type MessagePageProps = {
params: { boxId: string };
};

const Wrapper = styled.main`
height: 100%;
form {
height: 100%;
}
`;

function MessagePage(props: MessagePageProps) {
const { params } = props;
const router = useRouter();
const methods = useForm();
const user = useUser();

const [step, setStep] = useState<'guestDetail' | 'message' | 'complete'>('guestDetail');

const [step, setStep] = useState<'donation' | 'boxDetail' | 'boxDescription'>('donation');
const onSubmit = async (data: FieldValues) => {
console.log('onSubmit data', data);
const boxId = params.boxId;
const requestData = { ...data, tag: data.tag.key, boxId };
const response = fetch('/api/messages', {
method: 'POST',
body: JSON.stringify(requestData),
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${user.access_token}`,
},
});
console.log('response', response);
};

return (
<h1>
<GuestDetail register={methods.register} onNext={() => {}} />
</h1>
<FormProvider {...methods}>
<Wrapper>
<form onSubmit={methods.handleSubmit(onSubmit)}>
{step === 'guestDetail' && (
<GuestDetail
register={methods.register}
onNext={() => {
setStep('message');
console.log('click');
}}
/>
)}
{step === 'message' && <Message register={methods.register} onNext={() => {}} />}
{step === 'complete' && <Complete onNext={() => router.push('/')} />}
</form>
</Wrapper>
</FormProvider>
);
}
export default MessagePage;
2 changes: 1 addition & 1 deletion src/components/TextField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ function TextField(props: TextFieldProps, ref: React.Ref<HTMLTextAreaElement>) {

return (
<Wrapper>
<textarea ref={ref} type="text" placeholder="기부처 이름" {...rest} />
<textarea ref={ref} type="text" {...rest} />
</Wrapper>
);
}
Expand Down

0 comments on commit 0268ab4

Please sign in to comment.