Skip to content

Commit

Permalink
Merge pull request #62 from ho991217/61-푸터-수정
Browse files Browse the repository at this point in the history
푸터 수정
  • Loading branch information
ho991217 authored May 5, 2024
2 parents 56faf13 + 98830a9 commit 4e651c7
Show file tree
Hide file tree
Showing 29 changed files with 432 additions and 159 deletions.
6 changes: 3 additions & 3 deletions app/[locale]/(back-nav)/(padded)/my-tickets/page.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Ticket } from '@/app/components/my-tickets';
import { Accordion } from '@/app/components/ui/accordion';
import { If } from '@/app/components/util';
import { Ticket } from '@components/my-tickets';
import { Accordion } from '@components/ui/accordion';
import { If } from '@components/util';

import { getMyTicketList } from './action';

Expand Down
2 changes: 1 addition & 1 deletion app/[locale]/(back-nav)/(padded)/mypage/page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import getUserInfo from '@/app/api/get-is-user-info';
import getUserInfo from '@api/get-is-user-info';
import Image from 'next/image';

export default async function MyPage() {
Expand Down
52 changes: 30 additions & 22 deletions app/[locale]/(back-nav)/(padded)/notice/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
AccordionContent,
AccordionItem,
AccordionTrigger,
} from '@/app/components/ui/accordion';
} from '@components/ui/accordion';

type Notice = {
id: string;
Expand All @@ -16,30 +16,38 @@ const data: Notice[] = [
id: 'notice-1',
title: '축제 중 사고 발생 시 비상 연락처',
content: [
'총학생회장 박성헌 : 010-8984-7734',
'부총학생회장 박범성 : 010-5246-3764',
'문화체육국장 손효빈 : 010-4499-5494',
'총학생회장 김재헌 : 010 - 3228 - 9012',
'부총학생회장 김연경 : 010 - 6616 - 6515',
'학생복지위원장 서민선 : 010 - 9435 - 5680',
'문화체육국장 황재원 : 010 - 8562 - 5040',
],
},
{
id: 'notice-2',
title: '종합 운영 시간 안내',
content: [
'축제 기간 : 5/16~5/18',
'부스 운영 시간(주점 제외) : 12:00~17:00',
],
content: ['축제 기간 05.21(화) ~ 05.23(목)'],
},
{
id: 'notice-3',
title: 'F&B 및 주류 판매 부스 안내',
content: [
'[5/16]',
'F&B 운영시간 : 12:00 ~ 23:00',
'주류 판매시간 : 17:00 ~ 23:00',
'[05.21(화)]',
'F & B 운영시간 : 11:30 ~ 22:30',
'혜당관 앞마당 부스 : 11:00~19:00',
'주류 판매시간 : 00:00 ~ 24:00',
'주점 운영시간 : 18:00 ~ 23:00',
'',
'[05.22(수)]',
'F& B 운영시간 : 11:30 ~ 23:30',
'혜당관 앞마당 부스 : 11:00 ~ 19:00',
'주류 판매시간 : 00:00 ~ 24:00',
'주점 운영시간 : 18:00 ~ 24:00',
'',
'[5/17, 5/18]',
'F&B 운영시간 : 12:00 ~ 24:00',
'주류 판매시간 : 17:00 ~ 24:00',
'[05.23(목)]',
'F & B 운영시간: 11: 30 ~ 00:30',
'혜당관 앞마당 부스: 11:00 ~ 19:00',
'주류 판매시간: 00:00 ~ 24:00',
'주점 운영시간 : 18:00 ~ 01:00',
],
},
{
Expand All @@ -56,9 +64,8 @@ const data: Notice[] = [
title: '축제 기간 중 버스 운행구간 변경 안내',
content: [
'[셔틀버스 및 일반버스]',
'변경 전: 치대병원 - 종합 실험동 - 평화의 광장 - 인문관',
'',
'변경 후: 상징탑 - 중앙 도서관 - 테니스장 - 인문관 - 정문',
'변경 전 : 치대병원 – 종합실험동 – 평화의 광장 – 인문관',
'변경 후 : 상징탑 – 중앙도서관 – 테니스장 – 인문관 – 정문',
],
},
{
Expand All @@ -76,23 +83,24 @@ const data: Notice[] = [
'단국대학교 죽전캠퍼스 축제는 현재 단국대학교 죽전캠퍼스 재학생분들의 등록금과 학생회비를 통해 준비된 행사입니다.',
'따라서 해당 재학생들의 무대 관람을 위하여 단국존을 설치하게 되었습니다.',
'',
'하지만 공연이 진행되는 노천마당의 특성상, 관람석이 계단식으로 되어 있어 단국존이 아니더라도 원활한 무대 관람이 가능한 점 알려드립니다.',
'하지만, 공연이 진행되는 노천마당의 특성상 관람석이 계단식으로 되어있어 단국존이 아니더라도 원활한 무대 관람이 가능한 점 알려드립니다.',
],
},
{
id: 'notice-8',
title: 'Q3. 외부인도 축제 참여가 가능한가요?',
content: [
'가능합니다.',
'2024 DANFESTA는 외부인의 출입을 제한하지 않습니다. 단, 체험 부스 등의 일부 콘텐츠나 상품 수령에 관해서는 재학생만을 대상으로 진행하는 점 양해 부탁드립니다.',
'',
'<2024 DANFESTA>는 외부인의 출입을 제한하지 않습니다. 단, 체험부스 등의 일부 콘텐츠나 상품 수령에 관해서는 재학생만을 대상으로 진행하는 점 양해 바랍니다.',
'<2024 DANFESTA>는 새롭게 ‘단국존’ 외곽으로 ‘재학생 스탠딩존’이 마련됩니다. ‘재학생 스탠딩존’의 경우 외부인 출입을 제한하고, 단국대학교 재학생에 한하여 무대 관람이 가능한 점 알려드립니다.',
],
},
{
id: 'notice-9',
title: 'Q4. 팔찌 없이 무대관람이 가능한가요?',
content: [
'공연이 진행되는 노천마당의 특성상, 관람석이 계단식으로 되어 있어 단국존이 아니더라도 원활한 무대 관람이 가능한 점 알려드립니다.',
'',
'공연이 진행되는 노천마당의 특성상, 관람석이 계단식으로 되어있어 단국존이 아니더라도 원활한 무대관람이 가능한점 알려드립니다.',
'따라서 무대 관람을 위한 티켓은 별도로 필요하지 않습니다.',
],
},
Expand Down Expand Up @@ -123,7 +131,7 @@ const data: Notice[] = [
'주류 판매 라이선스를 소유하고 있는 업체가 입점하여 주류를 판매할 예정입니다.',
'주류의 원활한 구매를 위해 법정 신분증을 지참해 주시기 바랍니다.',
'',
'*학생운영 주점에서의 주류 판매 및 배부는 관련 법령에 근거하여 금지됩니다.',
'학생운영 주점에서의 주류 판매 및 배부는 관련 법령에 근거하여 금지됩니다.',
'병으로 된 주류는 사고 예방을 위해 축제위로부터 제지할 수 있습니다.',
],
},
Expand Down
4 changes: 1 addition & 3 deletions app/[locale]/(back-nav)/(padded)/password/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@ import { post } from '@api/.';
import { Button, Form, Password } from '@components/common';
import { Funnel, Header } from '@components/signup';
import { API_ROUTES, API_URL } from '@lib/constants';
import { useRouter } from '@lib/navigation';
import { SearchParams } from '@lib/types';
import { getRandomNickname } from '@lib/utils';
import { APIError, assert } from '@lib/utils/validation';
import { AnimatePresence } from 'framer-motion';
import { getJosaPicker } from 'josa';
import { useLocale } from 'next-intl';
import { useRouter } from 'next/navigation';
import { useEffect, useRef, useState } from 'react';
import { toast } from 'sonner';

Expand Down Expand Up @@ -49,7 +48,6 @@ export default function PasswordSetPage({
const passwordRef = useRef<HTMLInputElement>(null);
const passwordCheckRef = useRef<HTMLInputElement>(null);

const locale = useLocale();
const router = useRouter();
const josa = getJosaPicker('을');

Expand Down
17 changes: 6 additions & 11 deletions app/[locale]/(back-nav)/(padded)/ticketing/[eventId]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
import { get, getImage, getServerSideToken } from '@/app/api';
import { Form, RefetchButton } from '@/app/components/ticketing';
import { get, getImage, getServerSideToken } from '@api/.';
import { Form, RefetchButton } from '@components/ticketing';
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from '@/app/components/ui/accordion';
import {
Card,
CardContent,
CardHeader,
CardTitle,
} from '@/app/components/ui/card';
import { API_ROUTES } from '@/app/lib/constants';
import { type Params } from '@/app/lib/types';
} from '@components/ui/accordion';
import { Card, CardContent, CardHeader, CardTitle } from '@components/ui/card';
import { API_ROUTES } from '@lib/constants';
import { type Params } from '@lib/types';
import Image from 'next/image';
import { Suspense } from 'react';

Expand Down
2 changes: 1 addition & 1 deletion app/[locale]/(back-nav)/(padded)/ticketing/page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Card } from '@/app/components/ticketing';
import { Card } from '@components/ticketing';

import { getEvents } from './action';

Expand Down
84 changes: 24 additions & 60 deletions app/[locale]/(back-nav)/(padded)/verify/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,20 @@

import { post } from '@app/api';
import { useBottomSheet } from '@app/hooks';
import { BottomSheet, Button, Form, ID, Password } from '@components/common';
import { Button, Form, ID, Password, Terms } from '@components/common';
import { Funnel, Header, TransformerSubtitle } from '@components/signup';
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from '@components/ui/accordion';
import { API_ROUTES, COOKIE_KEYS } from '@lib/constants';
import { useRouter } from '@lib/navigation';
import { type SearchParams } from '@lib/types';
import { APIError, isStudentId } from '@lib/utils';
import { AnimatePresence } from 'framer-motion';
import { getJosaPicker } from 'josa';
import { useCookies } from 'next-client-cookies';
import { useLocale } from 'next-intl';
import { useEffect, useRef, useState } from 'react';
import { toast } from 'sonner';

import { DKUVerificationSchema, dkuVerificationSchema } from './schema';
import { reverifyTerms, signupTerms } from './terms';

const steps = ['학번', '비밀번호', '약관동의'] as const;

Expand All @@ -43,13 +38,13 @@ export default function VerifyPage({
const [step, setStep] = useState<Steps>('학번');
const [isLoading, setIsLoading] = useState(false);
const [token, setToken] = useState<string | null>(null);
const [isOpen, openBT, closeBT] = useBottomSheet();
const [isOpen, openTerm, closeTerm] = useBottomSheet();
const passwordRef = useRef<HTMLInputElement>(null);
const currentStep = steps.indexOf(step);
const isLastStep = currentStep === steps.length;
const locale = useLocale();
const router = useRouter();
const cookies = useCookies();
const josa = getJosaPicker('을');

const verify = async (dkuData: DKUVerificationSchema) => {
try {
Expand All @@ -61,8 +56,11 @@ export default function VerifyPage({
setToken(signupToken);
onNext(steps[currentStep]);
} catch (error) {
const message = error as APIError;
toast.error(message.message);
const err = error as APIError;
toast.error(err.message);
if (err.message === '이미 같은 학번으로 회원가입되어 있습니다.') {
router.push('/login');
}
} finally {
setIsLoading(false);
}
Expand All @@ -76,8 +74,7 @@ export default function VerifyPage({
dkuData,
);
cookies.set(COOKIE_KEYS.verified, 'true');
toast.success('재인증이 완료되었습니다.');
router.push('/');
onNext(steps[currentStep]);
} catch (error) {
const message = error as APIError;
toast.error(message.message);
Expand All @@ -94,6 +91,11 @@ export default function VerifyPage({
reverify ? reVerify(dkuData) : verify(dkuData);
break;
case '약관동의':
if (reverify) {
toast.success('재인증이 완료되었습니다.');
router.push('/');
return;
}
router.push(`/sms?type=signup&token=${token}`);
}
};
Expand All @@ -104,7 +106,7 @@ export default function VerifyPage({
setStep('비밀번호');
} else if (currentStep === '비밀번호') {
setStep('약관동의');
openBT();
openTerm();
}
};

Expand All @@ -125,7 +127,7 @@ export default function VerifyPage({
{step !== '약관동의' ? (
<>
<Header.Transformer step={step} steps={steps} />
<div>입력해주세요.</div>
<span>{josa(step)} 입력해주세요.</span>
</>
) : (
<TransformerSubtitle>약관에 동의해주세요.</TransformerSubtitle>
Expand Down Expand Up @@ -161,57 +163,19 @@ export default function VerifyPage({
</Funnel.Step>
</Funnel>

<BottomSheet
<Terms
terms={reverify ? reverifyTerms : signupTerms}
isOpen={isOpen}
header="이용동의"
onDismiss={() => {
onDecline={() => {
closeTerm();
setStep('비밀번호');
closeBT();
}}
>
<Terms />
<Button type="submit" isLoading={isLoading} variant="filled">
동의
</Button>
</BottomSheet>
/>

<Button type="submit" variant="bottom">
<Button type="submit" variant="bottom" isLoading={isLoading}>
다음
</Button>
</Form>
</AnimatePresence>
);
}

function Terms() {
return (
<Accordion type="single" collapsible className="w-full mb-10 text-sm">
<AccordionItem value="item-1">
<AccordionTrigger>어떤 정보를 제공해야 하나요?</AccordionTrigger>
<AccordionContent>
단페스타 2024 서비스를 이용하기 위해서는 다음과 같은 정보를
제공해야합니다.
<ul>
<li> - 학번</li>
<li> - 단국대학교 포털 비밀번호</li>
<li> - 전화번호</li>
</ul>
</AccordionContent>
</AccordionItem>
<AccordionItem value="item-2">
<AccordionTrigger>제공한 정보는 어디에 사용되나요?</AccordionTrigger>
<AccordionContent>
제공된 정보는 단페스타 2024 서비스 이용을 위한 목적으로만 사용되며
다른 목적으로 사용되지 않습니다.
</AccordionContent>
</AccordionItem>
<AccordionItem value="item-3">
<AccordionTrigger>포털 비밀번호도 제공해야 하나요?</AccordionTrigger>
<AccordionContent>
단국대학교 포털 비밀번호는 학생 인증을 위한 목적으로만 사용되며 즉시
삭제됩니다.
</AccordionContent>
</AccordionItem>
</Accordion>
);
}
Loading

1 comment on commit 4e651c7

@vercel
Copy link

@vercel vercel bot commented on 4e651c7 May 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.