Skip to content

Commit

Permalink
Merge branch 'develop' into hotfix/5.5
Browse files Browse the repository at this point in the history
  • Loading branch information
gaeunnlee authored May 5, 2024
2 parents 9849069 + 4685701 commit ec4ac64
Show file tree
Hide file tree
Showing 14 changed files with 352 additions and 130 deletions.
8 changes: 7 additions & 1 deletion src/components/common/carousel/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { CarouselType } from '@hooks/api/main/useGetMain';
import React, { Fragment } from 'react';
import { FaChevronCircleRight, FaChevronCircleLeft } from 'react-icons/fa';
import { GoDotFill } from 'react-icons/go';
import { useNavigate } from 'react-router-dom';

interface CarouselContentProps extends CarouselType {
mimeType?: string;
Expand All @@ -12,10 +13,12 @@ interface CarouselContentProps extends CarouselType {
interface CarouselProps {
data: CarouselContentProps[];
className?: string;
hasLink?: boolean;
}

export default function Carousel({ data, className }: CarouselProps) {
export default function Carousel({ data, className, hasLink }: CarouselProps) {
const [currentIndex, setCurrentIndex] = React.useState(0);
const navigate = useNavigate();

const handlePrevClick = () => {
if (currentIndex > 0) {
Expand Down Expand Up @@ -55,6 +58,9 @@ export default function Carousel({ data, className }: CarouselProps) {
{index === currentIndex && (
<Fragment>
<img
onClick={() => {
hasLink && navigate(`${item.redirectUrl}`);
}}
className='size-full object-cover'
src={item.url}
alt={`carousel-item-${item.id}`}
Expand Down
4 changes: 2 additions & 2 deletions src/components/common/gnb/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ const GnbLogo = () => {
);
};

const GnbGoBack = ({ url }: { url?: string }) => {
const GnbGoBack = ({ url, onClick }: { url?: string; onClick?: () => void }) => {
const navigate = useNavigate();
return (
<IconButton
id='arrow_back'
width={18}
height={22}
color='white'
onClick={() => (url ? navigate(url) : navigate(-1))}
onClick={() => (onClick ? onClick() : url ? navigate(url) : navigate(-1))}
/>
);
};
Expand Down
22 changes: 14 additions & 8 deletions src/components/errorFallback/index.tsx
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
// import { HTTP_ERROR_MESSAGE } from '@constants/error';
import React from 'react';

import MyPageUpdate from '@/pages/mypage/update';

export interface ErrorProps {
statusCode?: number;
resetError?: () => void;
}

const Error = ({ statusCode, resetError }: ErrorProps) => {
console.log(statusCode);
return (
<div className='flex flex-col justify-center items-center'>
<h1>오류가 발생했습니다</h1>
<h2>{statusCode}</h2>
<button onClick={resetError}>다시 시도하기</button>
</div>
);
switch (statusCode) {
case 600:
return <MyPageUpdate />;
default:
return (
<div className='flex flex-col justify-center items-center'>
<h1>오류가 발생했습니다</h1>
<h2>{statusCode}</h2>
<button onClick={resetError}>다시 시도하기</button>
</div>
);
}
};

export default Error;
6 changes: 3 additions & 3 deletions src/components/main/appDownload.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ export default function AppDownload() {
const buttonInfo: TButton[] = [
{
name: 'App Store',
link: '',
link: 'https://apps.apple.com/kr/app/%EB%8B%A8%EB%B2%84%EB%A6%AC-danvery-dankook-every/id6448884101',
icon: 'logo_apple',
},
{
name: 'Google Play',
link: '',
link: 'https://play.google.com/store/apps/details?id=com.vanillajaem.danvery',
icon: 'logo_google_playstore',
},
];
return (
<section className='p-6 w-full'>
<div className='mb-3'>
<h4 className='font-bold text-lg'>Danvery를 앱에서도 만나보세요!</h4>
<h4 className='font-bold text-lg'>U-Mate를 앱에서도 만나보세요!</h4>
<p className='text-sm'>각종 매칭 서비스를 즐길 수 있습니다</p>
</div>
<div className='flex w-full gap-3'>
Expand Down
8 changes: 3 additions & 5 deletions src/components/main/post.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import { ImageProps } from '@hooks/useImageUpload';
import React, { ReactNode } from 'react';
import { FaCamera } from 'react-icons/fa';


export interface PostFormInfo {
title: string;
body: string;
Expand Down Expand Up @@ -37,7 +36,6 @@ export default function Post({
deleteImage,
postType,
}: PostProps) {

//TODO) 이미지 리스트 컴포넌트로 분리
//TODO) Input 도 onChange를 useUploadForm 에 작성

Expand All @@ -46,7 +44,7 @@ export default function Post({
<Gnb>
<GnbGoBack />
</Gnb>
<HeaderSection>
<HeaderSection className='pt-[45px] ml-[29px] pb-[53px]'>
<GnhTitle>{HEADING_TEXT.PETITION.HEAD}</GnhTitle>
<GnhSubtitle>{HEADING_TEXT.COUNCIL.HEAD}</GnhSubtitle>
</HeaderSection>
Expand All @@ -71,7 +69,7 @@ export default function Post({
<Box>
<p>{`${postType} 내용`}</p>
<Textarea
className="h-14"
className='h-14'
value={formInfo.body && formInfo.body}
placeholder={`${postType} 내용을 입력해 주세요.`}
onChange={handleUpdate}
Expand Down Expand Up @@ -100,7 +98,7 @@ export default function Post({
deleteImage({ id, setFormInfo });
}}
>
x
x
</button>
</div>
))}
Expand Down
207 changes: 201 additions & 6 deletions src/components/signup/term.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ import { ROUTES } from '@constants/route';
import React from 'react';
import { useNavigate, useSearchParams } from 'react-router-dom';

import Table from '../ui/table';

export default function Term() {
const allDisagree = Array(3).fill(false);
const allAgree = Array(3).fill(true);
const allDisagree = Array(6).fill(false);
const allAgree = Array(6).fill(true);
const [agreeCheck, setAgreeCheck] = React.useState(allDisagree);
const allChecked = agreeCheck.every(Boolean);

Expand Down Expand Up @@ -37,16 +39,206 @@ export default function Term() {
id: 'agreeCheck01',
mainText: '[필수]',
subText: '개인 정보 수집, 이용 동의',
desc: (
<>
<p>
㈜무진정보기술 유메이트에서 서비스 회원가입 및 본인 인증을 위하여 아래와 같이 개인정보를
수집, 이용합니다.
</p>
<Table tdWidth='1/3'>
<tr>
<td>수집목적</td>
<td>수집항목</td>
<td>수집근거</td>
</tr>
<tr>
<td>회원 식별 및 회원제 서비스 제공</td>
<td>아이디, 비밀번호, 닉네임</td>
<td rowSpan={2}>개인정보 보호법 제15조 제1항</td>
</tr>
<tr>
<td>본인 인증</td>
<td>전화번호 </td>
</tr>
</Table>
<p>
귀하는 ㈜무진정보기술 유메이트 서비스 이용에 필요한 최소한의 개인정보 수집 및 이용에
동의하지 않을 수 있으나, 동의를 거부 할 경우 회원제 서비스 이용이 불가합니다.
</p>
</>
),
},
{
id: 'agreeCheck02',
mainText: '[필수]',
subText: '개인 정보 수집, 이용 동의',
subText: '단국대학교 홈페이지 내 개인정보 수집, 이용 동의',
desc: (
<>
<p>
㈜무진정보기술 유메이트는 단국대학교 학생임을 인증하기 위하여 아래와 같이 단국대학교
홈페이지 내 개인정보를 수집, 이용합니다.
</p>
<Table tdWidth='1/3'>
<tr>
<td>수집목적</td>
<td>수집항목</td>
<td>수집근거</td>
</tr>
<tr>
<td>단국대학교 학생임을 인증</td>
<td>단국대학교 홈페이지 아이디 및 비밀번호</td>
<td rowSpan={2}>개인정보 보호법 제15조 제1항</td>
</tr>
<tr>
<td>단국대학교 학생 정보 수집</td>
<td>이름, 단국대학교 학번, 소속 단과대학, 소속 학과, 재학 여부, 나이, 성별</td>
</tr>
</Table>
<p>
귀하는 ㈜무진정보기술 유메이트 서비스 이용에 필요한 최소한의 개인정보 수집 및 이용에
동의하지 않을 수 있으나, 동의를 거부 할 경우 회원제 서비스 이용이 불가합니다. 단국대학교
홈페이지 아이디 및 비밀번호는 연동 즉시 폐기됩니다.
</p>
</>
),
},
{
id: 'agreeCheck03',
mainText: '[필수]',
subText: '개인 정보 수집, 이용 동의',
subText: '개인정보 이용 동의',
desc: (
<>
<p>
㈜무진정보기술 유메이트는 게시판 커뮤니티를 이용하기 위하여 아래와 같이 단국대학교 홈페이지
내 개인정보를 이용합니다.
</p>
<Table tdWidth='1/3'>
<tr>
<td>이용목적</td>
<td>이용항목</td>
<td>이용근거</td>
</tr>
<tr>
<td>청원 게시판 내 사용</td>
<td>소속 학과</td>
<td>개인정보 보호법 제15조 제1항</td>
</tr>
</Table>
<p>
귀하는 ㈜무진정보기술 유메이트 서비스 이용에 필요한 최소한의 개인정보 수집 및 이용에
동의하지 않을 수 있으나, 동의를 거부 할 경우 회원제 서비스 이용이 불가합니다. 단국대학교
홈페이지 아이디 및 비밀번호는 연동 즉시 폐기됩니다.
</p>
</>
),
},
{
id: 'agreeCheck04',
mainText: '[필수]',
subText: '개인정보 제 3자 제공 동의',
desc: (
<>
<p>
㈜무진정보기술 유메이트 회원님의 개인정보를 개인정보 처리방침에서 고지한 제 3자 제공범위
내에서 제공하며, 정보주체의 사전동의 없이 동 범위를 초과하여 제3자에게 제공하지 않습니다.
</p>
<Table>
<tr className='font-bold w-full'>
<td colSpan={3}>제공항목</td>
</tr>
<tr>
<td colSpan={3}>
이름, 전화번호, 단국대학교 학번, 아이디, 비밀번호, 재학여부, 소속단과대, 소속 학과
</td>
</tr>
<tr>
<td colSpan={3}>
개인정보 제공에 대한 동의를 거부할 권리가 있으며, 동의를 거부할 경우 단페스타 티켓팅에
제한을 받습니다.
</td>
</tr>
<tr className='font-bold'>
<td>제공받는 자</td>
<td>제공목적</td>
<td>보유기간</td>
</tr>
<tr>
<td>단국대학교 총학생회</td>
<td>단페스타 티켓팅</td>
<td>가입일로부터 4년</td>
</tr>
</Table>
<p>
귀하는 ㈜무진정보기술 유메이트 서비스 이용에 필요한 최소한의 개인정보 수집 및 이용에
동의하지 않을 수 있으나, 동의를 거부 할 경우 회원제 서비스 이용이 불가합니다. 단국대학교
홈페이지 아이디 및 비밀번호는 연동 즉시 폐기됩니다.
</p>
</>
),
},
{
id: 'agreeCheck05',
mainText: '[필수]',
subText: '재학 인증 관련 개인정보 이용 동의',
desc: (
<>
<p>
㈜무진정보기술 유메이트는 단국대학교 학생임을 인증하기 위하여 아래와 같이 단국대학교
홈페이지 내 개인정보를 수집, 이용합니다.
</p>
<Table tdWidth='1/3'>
<tr>
<td>수집목적</td>
<td>수집항목</td>
<td>수집근거</td>
</tr>
<tr>
<td>단국대학교 학생임을 인증</td>
<td>단국대학교 홈페이지 아이디 및 비밀번호</td>
<td rowSpan={2}>개인정보 보호법 제15조 제1항</td>
</tr>
<tr>
<td>학번, 이름, 학과, 재학 여부 인증</td>
<td>재학여부</td>
</tr>
</Table>
<p>
귀하는 ㈜무진정보기술 유메이트 서비스 이용에 필요한 최소한의 개인정보 수집 및 이용에
동의하지 않을 수 있으나, 동의를 거부 할 경우 회원제 서비스 이용이 불가합니다. 단국대학교
홈페이지 아이디 및 비밀번호는 연동 즉시 폐기됩니다.
</p>
</>
),
},
{
id: 'agreeCheck06',
mainText: '[필수]',
subText: 'ID/PW 찾기 관련 개인정보 이용 동의',
desc: (
<>
<p>
㈜무진정보기술 유메이트는 단국대학교 학생임을 인증하기 위하여 아래와 같이 단국대학교
홈페이지 내 개인정보를 수집, 이용합니다.
</p>
<Table tdWidth='1/3'>
<tr>
<td>수집목적</td>
<td>수집항목</td>
<td>수집근거</td>
</tr>
<tr>
<td>본인 인증</td>
<td>전화 번호</td>
<td>개인정보 보호법 제15조 제1항</td>
</tr>
</Table>
<p>
귀하는 ㈜무진정보기술 유메이트 서비스 이용에 필요한 최소한의 개인정보 수집 및 이용에
동의하지 않을 수 있으나, 동의를 거부 할 경우 회원제 서비스 이용이 불가합니다. 단국대학교
홈페이지 아이디 및 비밀번호는 연동 즉시 폐기됩니다.
</p>
</>
),
},
];

Expand All @@ -72,13 +264,16 @@ export default function Term() {
checked={agreeCheck[index]}
onCheckedChange={() => handleCheckboxChange(index)}
>
<Label htmlFor={checkbox.id} className='text-xs'>
<Label htmlFor={checkbox.id} className='text-xs whitespace-nowrap '>
[필수]
</Label>
<Label htmlFor={checkbox.id} className='-ml-1 text-xs text-gray02'>
개인 정보 수집, 이용 동의
{checkbox.subText}
</Label>
</Checkbox>
<div className='h-[120px] overflow-auto mt-1 py-1 text-[0.8rem] flex flex-col gap-2'>
{checkbox.desc}
</div>
</Box>
))}
<Button
Expand Down
Loading

0 comments on commit ec4ac64

Please sign in to comment.