Skip to content

Commit 3c4a2a1

Browse files
committed
refact: 해시태그 수정
1 parent 5677385 commit 3c4a2a1

2 files changed

Lines changed: 37 additions & 7 deletions

File tree

src/entities/event/api/event.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,3 @@ export const eventDeletion = async (eventId: number) => {
8888
return response.data;
8989
};
9090

91-
92-
// 해시태그 조회
93-
94-
// 해시태그 수정

src/pages/dashboard/ui/EventTagPage.tsx

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,49 @@ import Button from '../../../../design-system/ui/Button';
44
import EventCategory from '../../../features/event/ui/EventCategory';
55
import EventTag from '../../../features/event/ui/EventTag';
66
import { useFunnelState } from '../../../features/event/model/FunnelContext';
7+
import { useUpdateEventHook } from '../../../features/dashboard/hook/useEventHook';
8+
import { useEventDetail } from '../../../entities/event/hook/useEventHook';
9+
import { useEffect } from 'react';
710

811
const EventTagPage = () => {
912
const navigate = useNavigate();
1013
const { eventState, setEventState } = useFunnelState();
1114
const { id } = useParams();
12-
const handleEventTag = (hashtagId : number) => {
13-
navigate(`/dashboard/${id}`);
15+
const { mutate } = useUpdateEventHook();
16+
const { data } = useEventDetail();
17+
useEffect(() => {
18+
console.log(data.result)
19+
if (data?.result.hashtags && setEventState) {
20+
setEventState(prev => ({
21+
...prev,
22+
hashtags: data.result.hashtags,
23+
}));
24+
}
25+
}, [data, setEventState]);
26+
const handleEventTag = () => {
27+
if (!id || !data?.result) return;
28+
29+
const cleanedTags = eventState.hashtags.filter(tag => tag.trim() !== '');
30+
31+
const requestData = {
32+
...data.result,
33+
// hostChannelId: data.result.hostChannelId,
34+
hostChannelId: 5,
35+
hashtags: cleanedTags,
36+
};
37+
38+
mutate(requestData, {
39+
onSuccess: () => {
40+
alert('이벤트 정보가 저장되었습니다.');
41+
navigate(`/dashboard/${id}`);
42+
},
43+
onError: () => {
44+
alert('저장에 실패했습니다.');
45+
},
46+
});
1447
}
1548

49+
1650
return (
1751
<DashboardLayout centerContent="DASHBOARD">
1852
<div className="flex flex-col gap-5 mt-8 px-7">
@@ -23,7 +57,7 @@ const EventTagPage = () => {
2357
<div className="w-full p-7">
2458
<Button
2559
label="저장하기"
26-
onClick={() => handleEventTag(1)}
60+
onClick={() => handleEventTag()}
2761
className="w-full h-12 rounded-full"
2862
/>
2963
</div>

0 commit comments

Comments
 (0)