|
1 | | -import instance from "@/api/axios"; |
2 | 1 | import Header from "@/components/header/Header"; |
| 2 | +import { CONTENT_DATA } from "@/constants/CONTENT"; |
3 | 3 | import { trackEvent } from "@/libs/analytics"; |
4 | 4 | import React from "react"; |
5 | | -import { useParams } from "react-router-dom"; |
6 | | - |
7 | | -const contentData = [ |
8 | | - { |
9 | | - id: 0, // TODO: 차주(3/24 ~) 개발 필요 |
10 | | - title: "내가 궁금한 그 사람의 MBTI는?", |
11 | | - image: { |
12 | | - sm: "/image/home_banner1_sm.png", |
13 | | - md: "/image/home_banner1_md.png", |
14 | | - lg: "/image/home_banner1_lg.png" |
15 | | - }, |
16 | | - subTitle: "", |
17 | | - content: "" |
18 | | - }, |
19 | | - { |
20 | | - id: 1, |
21 | | - title: "썸탈 때 대화주제 추천 MBTI별 대백과", |
22 | | - image: { |
23 | | - sm: "/image/home_banner2_sm.png", |
24 | | - md: "/image/home_banner2_md.png", |
25 | | - lg: "/image/home_banner2_lg.png" |
26 | | - }, |
27 | | - subTitle: "썸탈 때 대화주제 추천(MBTI별)", |
28 | | - content: `썸 탈 때 이런 주제를 활용해보세요! MBTI 별로 추천드려요. 조금 더 자세한 대화주제 추천을 원한다면? 대화를 시작해보세요~ |
29 | | -
|
30 | | - ISTJ (청렴한 관리자): |
31 | | - - "이번 주말에 뭐 할 계획이야? 나는 친구들과 등산 가기로 했어." |
32 | | - - 설명: 구체적인 계획에 대해 이야기하며 서로의 일정을 공유하는 것을 좋아해요! |
33 | | -
|
34 | | - ISFJ (세심한 보호자): |
35 | | - - "가족이랑 휴가는 보통 어떻게 보내?" |
36 | | - - 설명: 가족과의 관계나 전통적인 활동에 대해 이야기하는 것을 선호해요! |
37 | | -
|
38 | | - INFJ (통찰력 있는 상담자): |
39 | | - - "최근에 읽은 책 중에 감명 깊었던 게 있어? 나는 '인간의 조건'이라는 책을 읽었는데, 정말 많은 생각을 하게 해." |
40 | | - - 설명: 깊이 있는 주제에 대해 이야기하며 서로의 감정을 나누는 것을 좋아해요! |
41 | | -
|
42 | | - INTJ (전략가): |
43 | | - - "5년 후에 어떤 모습이 되고 싶어?" |
44 | | - - 설명: 미래에 대한 비전이나 목표에 대해 이야기하는 것을 선호해요! |
45 | | -
|
46 | | - ISTP (유연한 문제 해결사): |
47 | | - - "혹시 취미가 있어? 나는 드론 촬영에 빠져 있어." |
48 | | - - 설명: 취미나 액티비티에 대한 이야기를 나누며 실용적인 대화를 좋아해요! |
49 | | -
|
50 | | - ISFP (자유로운 예술가): |
51 | | - - "혹시 전시회 좋아해? 나는 미술 전시회에 갔었는데, 정말 감동적이었어." |
52 | | - - 설명: 예술적 경험이나 감정에 대해 이야기하는 것을 선호해요! |
53 | | -
|
54 | | - INFP (이상적인 중재자): |
55 | | - - "이 다음에 하고 싶은 일 이써? 나는 언젠가 나만의 책을 쓰고 싶어." |
56 | | - - 설명: 개인의 가치관이나 꿈에 대해 이야기하며 감정적인 연결을 중요시해요! |
57 | | -
|
58 | | - INTP (논리적인 사색가): |
59 | | - - "양자역학에 대해 들어봤어?" |
60 | | - - 설명: 새로운 아이디어나 이론에 대한 논의, 호기심을 자극하는 주제를 좋아해요! |
61 | | -
|
62 | | - ESTP (모험적인 활동가): |
63 | | - - "혹시 스카이다이빙 해봤어? 정말 짜릿했어!" |
64 | | - - 설명: 새로운 경험이나 모험에 대한 이야기를 나누는 것을 선호해요! |
65 | | -
|
66 | | - ESFP (사교적인 연예인): |
67 | | - - "이번 주말에 ㅇㅇ컨퍼런스 가는 거 어때? 재미있을 것 같아!" |
68 | | - - 설명: 즐거운 경험이나 사회적 활동에 대한 이야기를 나누는 것을 좋아해요! |
69 | | -
|
70 | | - ENFP (열정적인 활동가): |
71 | | - - "너는 어떤 가능성을 탐색하고 있어? 나는 새로운 프로젝트를 시작할까 고민 중이야." |
72 | | - - 설명: 다양한 가능성이나 창의적인 아이디어에 대한 이야기를 나누는 것을 선호해요! |
73 | | -
|
74 | | - ENTP (발명가): |
75 | | - - "너는 AI의 미래에 대해 어떻게 생각해?" |
76 | | - - 설명: 논쟁적인 주제나 새로운 아이디어에 대한 토론을 즐겨요! |
77 | | -
|
78 | | - ESTJ (효율적인 관리자): |
79 | | - - "최근에 일 할 때 가장 뿌듯했던 경험있어?" |
80 | | - - 설명: 목표 달성이나 성과에 대한 이야기를 나누는 것을 선호해요! |
81 | | -
|
82 | | - ESFJ (사교적인 조정자): |
83 | | - - "친구들이랑 보통 뭐하고 놀아?" |
84 | | - - 설명: 사람들과의 관계나 사회적 활동에 대한 이야기를 나누는 것을 좋아해요! |
85 | | -
|
86 | | - ENFJ (카리스마 있는 리더): |
87 | | - - "사람들과의 관계에서 가장 중요하다고 생각하는 건 뭐야? 나는 신뢰가 가장 중요하다고 생각해." |
88 | | - - 설명: 사람들의 감정이나 관계에 대한 이야기를 나누는 것을 선호해요! |
89 | | -
|
90 | | - ENTJ (결단력 있는 지휘관): |
91 | | - - "회사에서 좋은 리더란 어떤 리더일까?" |
92 | | - - 설명: 전략적 사고나 리더십에 대한 이야기를 나누는 것을 좋아해요!` |
93 | | - }, |
94 | | - { |
95 | | - id: 2, |
96 | | - title: "MBTI별 피해야 할 대화스타일 및 주제", |
97 | | - image: { |
98 | | - sm: "/image/home_banner3_sm.png", |
99 | | - md: "/image/home_banner3_md.png", |
100 | | - lg: "/image/home_banner3_lg.png" |
101 | | - }, |
102 | | - subTitle: "MBTI 별 피해야할 대화스타일 & 주제", |
103 | | - content: `MBTI 별로 피해야 하는 대화 스타일, 주제를 알아보아요! |
104 | | -
|
105 | | - ISTJ (청렴한 관리자): |
106 | | - - 비효율적인 대화, 감정적인 논의. |
107 | | - - 예시 : 계획이나 규칙을 무시하고 즉흥적으로 행동하는 사람과의 대화. 감정적인 불만이나 개인적인 이야기를 과도하게 나누는 것. |
108 | | -
|
109 | | - ISFJ (세심한 보호자): |
110 | | - - 비판적이거나 공격적인 대화. |
111 | | - - 예시 : 자신의 가치관이나 선택을 비난하는 대화. 갈등을 일으키는 주제, 예를 들어 정치적 논쟁. |
112 | | -
|
113 | | - INFJ (통찰력 있는 상담자): |
114 | | - - 피상적인 대화. |
115 | | - - 예시 : 날씨나 소소한 일상 이야기만 하는 것. 깊이 있는 감정이나 철학적 주제를 회피하는 대화. |
116 | | -
|
117 | | - INTJ (전략가): |
118 | | - - 비논리적이거나 비효율적인 대화. |
119 | | - - 예시 : 감정에 치우친 주장이나 비합리적인 결정에 대한 논의. 구체적인 근거 없이 의견을 제시하는 것. |
120 | | -
|
121 | | - ISTP (유연한 문제 해결사): |
122 | | - - 지나치게 감정적인 대화. |
123 | | - - 예시 : 감정적인 문제를 과도하게 분석하거나, 감정 표현을 강요하는 대화. |
124 | | -
|
125 | | - ISFP (자유로운 예술가): |
126 | | - - 강압적인 대화나 비판. |
127 | | - - 예시 : 자신의 창의적인 아이디어를 부정하거나, 강제로 의견을 바꾸려는 대화. |
128 | | -
|
129 | | - INFP (이상적인 중재자): |
130 | | - - 비인간적이거나 냉정한 대화. |
131 | | - - 예시 : 사람의 감정을 무시하고 논리만 강조하는 대화. 비인간적인 결정이나 정책에 대한 논의. |
132 | | -
|
133 | | - INTP (논리적인 사색가): |
134 | | - - 비논리적이거나 감정적인 대화. |
135 | | - - 예시 : 감정에 기반한 주장을 하거나, 논리적 근거 없이 의견을 제시하는 것. |
136 | | -
|
137 | | - ESTP (모험적인 활동가): |
138 | | - - 지루한 대화나 지나치게 이론적인 논의. |
139 | | - - 예시 : 복잡한 이론이나 과도한 분석을 요구하는 대화. 즉흥적인 행동을 비판하는 것. |
140 | | -
|
141 | | - ESFP (사교적인 연예인): |
142 | | - - 부정적인 대화나 지나치게 심각한 주제. |
143 | | - - 예시 : 우울한 이야기나 비관적인 전망을 이야기하는 것. 너무 진지한 주제로 대화하는 것. |
144 | | -
|
145 | | - ENFP (열정적인 활동가): |
146 | | - - 제한적이거나 비판적인 대화. |
147 | | - - 예시 : 새로운 아이디어를 억누르거나, 비판적인 태도로 접근하는 대화. |
148 | | -
|
149 | | - ENTP (발명가): |
150 | | - - 고정관념이나 전통적인 대화. |
151 | | - - 예시 : 기존의 방식을 고수하고 새로운 아이디어를 받아들이지 않는 대화. |
152 | | -
|
153 | | - ESTJ (효율적인 관리자): |
154 | | - - 비효율적인 대화나 감정적인 논의. |
155 | | - - 예시 : 감정적인 문제를 과도하게 다루거나, 실질적인 해결책 없이 불만을 토로하는 것. |
156 | | -
|
157 | | - ESFJ (사교적인 조정자): |
158 | | - - 갈등을 일으키는 대화. |
159 | | - - 예시 : 사람들 간의 갈등을 부추기거나, 비판적인 태도로 대화하는 것. |
160 | | -
|
161 | | - ENFJ (카리스마 있는 리더): |
162 | | - - 비협조적인 대화. |
163 | | - - 예시 : 팀워크를 무시하고 개인적인 이익만을 추구하는 대화. |
164 | | -
|
165 | | - ENTJ (결단력 있는 지휘관): |
166 | | - - 비효율적이거나 비논리적인 대화. |
167 | | - - 예시 : 목표 달성을 방해하는 비효율적인 논의나, 감정적인 요소를 과도하게 강조하는 것.` |
168 | | - } |
169 | | -]; |
| 5 | +import { useNavigate, useParams } from "react-router-dom"; |
170 | 6 |
|
171 | 7 | const Content = () => { |
| 8 | + const navigate = useNavigate(); |
172 | 9 | const { id } = useParams<{ id: string }>(); |
173 | | - const content = contentData[Number(id)]; |
| 10 | + const content = CONTENT_DATA[Number(id) - 1]; |
174 | 11 |
|
175 | 12 | if (!content) { |
176 | 13 | return <div className="mt-10 text-center">Content not found</div>; |
177 | 14 | } |
178 | 15 |
|
179 | | - const handleStartChat = async () => { |
180 | | - try { |
181 | | - trackEvent("Click", { |
182 | | - page: "일반 콘텐츠", |
183 | | - element: "대화 시작하기" |
184 | | - }); |
185 | | - const response = await instance.post("/api/fast-friend"); |
186 | | - console.log("Success!!", response.data); |
187 | | - } catch (error) { |
188 | | - console.error("Select Info Error", error); |
189 | | - } |
| 16 | + const handleStartChat = () => { |
| 17 | + trackEvent("Click", { |
| 18 | + page: "일반 콘텐츠", |
| 19 | + element: "대화 시작하기" |
| 20 | + }); |
| 21 | + |
| 22 | + navigate("/select-info", { state: "fastFriend" }); |
190 | 23 | }; |
191 | 24 |
|
192 | 25 | const renderContentWithLineBreaks = (text: string) => { |
|
0 commit comments