|
1 | 1 | import { useState } from 'react'; |
2 | | -import { EffectCards } from 'swiper/modules'; |
3 | | -import { Swiper, SwiperSlide } from 'swiper/react'; |
4 | | -import { twMerge } from 'tailwind-merge'; |
5 | | - |
6 | | -import 'swiper/swiper-bundle.css'; |
7 | | - |
8 | | -import { restartIcon } from '@/assets/icons'; |
9 | | -import BgItem from '@/assets/images/field-4.png'; |
10 | | -import ResultLetter from '@/components/ResultLetter'; |
11 | | - |
| 2 | +import MatchingSelect from './MatchingSelect'; |
12 | 3 | import MatchingSelectModal from './MatchingSelectModal'; |
| 4 | +import Matched from './Matched'; |
| 5 | +import BgItem from '@/assets/images/field-4.png'; |
| 6 | +import LetterDetail from '@/components/LetterDetail'; |
13 | 7 |
|
14 | 8 | const RandomLettersPage = () => { |
15 | | - const categoryList = ['전체', '위로와 공감', '축하와 응원', '고민 상담', '기타']; |
16 | | - const [selectedCategory, setSelectedCategory] = useState('전체'); |
17 | 9 | const [openModal, setOpenModal] = useState<boolean>(false); |
| 10 | + const [selectedLetter, setSelectedLetter] = useState<SelectedLetter>({ |
| 11 | + stampName: '기타', |
| 12 | + title: 'error', |
| 13 | + }); |
18 | 14 |
|
19 | | - const DUMMY_LIST: { stampName: Stamp; title: string }[] = [ |
20 | | - { stampName: '위로와 공감', title: '위로가 필요해요' }, |
21 | | - { stampName: '축하와 응원', title: '저에게 미움받을 용기를 주세요' }, |
22 | | - { stampName: '고민 상담', title: '삶이 무료해서 고민이에요' }, |
23 | | - { stampName: '기타', title: '어제 꾼 꿈이 신기했어요' }, |
24 | | - { stampName: '고민 상담', title: '삶이 유료해서 고민이에요' }, |
25 | | - { stampName: '축하와 응원', title: '어제 취업했어요!!!!' }, |
26 | | - { stampName: '축하와 응원', title: '어제 게임 신기록 세웠어요!!!!!' }, |
27 | | - { stampName: '기타', title: '기타는 핑거스타일이 멋있는거 같아요' }, |
28 | | - { stampName: '위로와 공감', title: '10년지기 친구가 이사를 가요' }, |
29 | | - { |
30 | | - stampName: '기타', |
31 | | - title: |
32 | | - '햄부기햄북 햄북어 햄북스딱스 함부르크햄부가우가 햄비기햄부거 햄부가티햄부기온앤 온 을 차려오거라.', |
33 | | - }, |
34 | | - ]; |
| 15 | + const DUMMY = { |
| 16 | + title: '나에게 햄버거 햄부기우기우가 햄북스따스 함부르크 햄버거링고를 대령하거라 ', |
| 17 | + text: '이 편지는 영국에서 최초로 시작되어 일년에 한바퀴를 돌면서 받는 사람에게 행운을 주었고 지금은 당신에게로 옮겨진 이 편지는 4일 안에 당신 곁을 떠나야 합니다. 이 편지를 포함해서 7통을 행운이 필요한 사람에게 보내 주셔야 합니다. 복사를 해도 좋습니다. 혹 미신이라 하실지 모르지만 사실입니다.영국에서 HGXWCH이라는 사람은 1930년에 이 편지를 받았습니다. 그는 비서에게 복사해서 보내라고 했습니다. 며칠 뒤에 복권이 당첨되어 20억을 받았습니다. 어떤 이는 이 편지를 받았으나 96시간 이내 자신의 손에서 떠나야 한다는 사실을 잊었습니다. 그는 곧 사직되었습니다. 나중에야 이 사실을 알고 7통의 편지를 보냈는데 다시 좋은 직장을 얻었습니다. 미국의 케네디 대통령은 이 편지를 받았지만 그냥 버렸습니다. 결국 9일 후 그는 암살당했습니다. 기억해 주세요. 이 편지를 보내면 7년의 행운이 있을 것이고 그렇지 않으면 3년의 불행이 있을 것입니다. ', |
| 18 | + }; |
35 | 19 |
|
36 | 20 | return ( |
37 | 21 | <> |
38 | | - {openModal && <MatchingSelectModal setOpenModal={setOpenModal} />} |
39 | | - <div className="flex flex-col items-center"> |
40 | | - <span className="text-gray-60 body-b mt-20 rounded-full bg-white px-6 py-4"> |
41 | | - 답장하고 싶은 편지를 선택해주세요! |
42 | | - </span> |
43 | | - <div className="mt-25 flex flex-col items-start gap-1.5"> |
44 | | - <button className="flex items-center gap-1"> |
45 | | - <img src={restartIcon} alt="재시작 아이콘" /> |
46 | | - <span className="caption-sb text-gray-30" onClick={() => {}}> |
47 | | - 리스트 새로고침 |
48 | | - </span> |
49 | | - </button> |
50 | | - <div className="mx-auto w-full max-w-75"> |
51 | | - <Swiper effect={'cards'} grabCursor={true} modules={[EffectCards]} className="mySwiper"> |
52 | | - {DUMMY_LIST.map((list, idx) => { |
53 | | - return ( |
54 | | - <SwiperSlide key={idx}> |
55 | | - <div className="w-full cursor-pointer" onClick={() => setOpenModal(true)}> |
56 | | - <ResultLetter stampName={list.stampName} title={list.title} /> |
57 | | - </div> |
58 | | - </SwiperSlide> |
59 | | - ); |
60 | | - })} |
61 | | - </Swiper> |
62 | | - </div> |
63 | | - </div> |
64 | | - <div className="mt-11 flex w-60 flex-wrap items-center justify-center gap-2"> |
65 | | - {categoryList.map((category, idx) => { |
66 | | - return ( |
67 | | - <button |
68 | | - onClick={() => { |
69 | | - setSelectedCategory(category); |
70 | | - }} |
71 | | - className={twMerge( |
72 | | - `body-b text-gray-60 rounded-full bg-white px-3 py-1.5`, |
73 | | - selectedCategory === category && 'bg-primary-1 text-white', |
74 | | - )} |
75 | | - key={idx} |
76 | | - > |
77 | | - {category} |
78 | | - </button> |
79 | | - ); |
80 | | - })} |
| 22 | + {false && ( |
| 23 | + <div className="flex grow flex-col items-center overflow-hidden"> |
| 24 | + <span className="text-gray-60 body-b mt-20 rounded-full bg-white px-6 py-4"> |
| 25 | + 답장하고 싶은 편지를 선택해주세요! |
| 26 | + </span> |
| 27 | + <MatchingSelect setOpenModal={setOpenModal} setSelectedLetter={setSelectedLetter} /> |
| 28 | + {/* <Matched /> */} |
| 29 | + <div |
| 30 | + className="fixed bottom-[-40px] left-1/2 z-[-10] h-42 w-full -translate-x-1/2 bg-[image:var(--bg-image)] bg-[length:100%_100%] bg-center opacity-70" |
| 31 | + style={{ '--bg-image': `url(${BgItem})` } as React.CSSProperties} |
| 32 | + /> |
| 33 | + {openModal && ( |
| 34 | + <MatchingSelectModal setOpenModal={setOpenModal} selectedLetter={selectedLetter} /> |
| 35 | + )} |
81 | 36 | </div> |
82 | | - <div |
83 | | - className="fixed bottom-[-40px] left-1/2 z-[-10] h-42 w-full -translate-x-1/2 bg-[image:var(--bg-image)] bg-[length:100%_100%] bg-center opacity-70" |
84 | | - style={{ '--bg-image': `url(${BgItem})` } as React.CSSProperties} |
85 | | - /> |
86 | | - </div> |
| 37 | + )} |
| 38 | + <LetterDetail title={DUMMY.title} text={DUMMY.text}></LetterDetail> |
87 | 39 | </> |
88 | 40 | ); |
89 | 41 | }; |
|
0 commit comments