Skip to content

Commit 8aab0e6

Browse files
committed
refact: 본문 수정 안되는 오류 수정
1 parent 87e68f0 commit 8aab0e6

File tree

3 files changed

+26
-21
lines changed

3 files changed

+26
-21
lines changed

src/features/event/ui/TextEditor.tsx

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -87,22 +87,23 @@ const TextEditor = ({ eventState, setEventState, value = '', onChange, onValidat
8787
};
8888

8989
const handleChange = (val: string) => {
90-
const totalLength = getTotalContentLength(val);
91-
92-
if (totalLength <= MAX_LENGTH) {
93-
setEditorContent(val);
94-
onChange?.(val);
95-
setEventState?.(prev => ({ ...prev, description: val }));
96-
onValidationChange?.(getPlainText(val).length > 0);
97-
setIsOverLimit(false);
98-
} else {
99-
const editorInstance = quillRef.current?.getEditor();
100-
if (editorInstance) {
101-
editorInstance.setContents(editorInstance.clipboard.convert(eventState?.description));
102-
}
103-
setIsOverLimit(true);
90+
const totalLength = getTotalContentLength(val);
91+
92+
if (totalLength <= MAX_LENGTH) {
93+
setEditorContent(val);
94+
onChange?.(val);
95+
setEventState?.(prev => ({ ...prev, description: val }));
96+
onValidationChange?.(getPlainText(val).length > 0);
97+
setIsOverLimit(false);
98+
} else {
99+
const editorInstance = quillRef.current?.getEditor();
100+
if (editorInstance) {
101+
editorInstance.clipboard.dangerouslyPasteHTML(eventState?.description ?? '');
104102
}
105-
};
103+
setIsOverLimit(true);
104+
}
105+
};
106+
106107

107108
useEffect(() => {
108109
onValidationChange?.(getPlainText(editorContent).length > 0);

src/pages/dashboard/ui/EventDetailPage.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { useUpdateEventHook } from '../../../features/dashboard/hook/useEventHoo
99
import { UpdateEventRequest } from '../../../features/dashboard/model/event';
1010
import { OnlineType } from '../../../shared/types/baseEventType';
1111
import { useEventDetail } from '../../../entities/event/hook/useEventHook';
12+
import { useQueryClient } from '@tanstack/react-query';
1213

1314
const EventDetailPage = () => {
1415
const navigate = useNavigate();
@@ -20,10 +21,13 @@ const EventDetailPage = () => {
2021
const [description, setDescription] = useState('');
2122
const [referenceLinks, setReferenceLinks] = useState<Link[]>([]);
2223

24+
const queryClient = useQueryClient();
25+
2326
useEffect(() => {
27+
console.log(data?.result.bannerImageUrl)
2428
if (data?.result) {
2529
setHostChannelId(data.result.hostChannelId || 0);
26-
setBannerImageUrl(data.result.bannerImageUrl || '');
30+
setBannerImageUrl(prev => prev || data.result.bannerImageUrl || '');
2731
setDescription(data.result.description || '');
2832
setReferenceLinks(data.result.referenceLinks || []);
2933
}
@@ -37,7 +41,7 @@ const EventDetailPage = () => {
3741
title: data.result.title,
3842
startDate: data.result.startDate,
3943
endDate: data.result.endDate,
40-
bannerImageUrl: bannerImageUrl || data.result.bannerImageUrl || '',
44+
bannerImageUrl: bannerImageUrl.trim() !== '' ? bannerImageUrl : data.result.bannerImageUrl || '',
4145
description: description || data.result.description || '',
4246
referenceLinks: referenceLinks.map(({ title, url }) => ({ title, url })) || data.result.referenceLinks || [],
4347
onlineType: data.result.onlineType as OnlineType,
@@ -54,6 +58,8 @@ const EventDetailPage = () => {
5458
mutate(requestData, {
5559
onSuccess: () => {
5660
alert('이벤트 정보가 저장되었습니다.');
61+
queryClient.invalidateQueries({ queryKey: ['eventDetail', data?.result.id] });
62+
5763
navigate(`/dashboard/${data?.result.id}`);
5864
},
5965
onError: () => {
@@ -67,7 +73,7 @@ const EventDetailPage = () => {
6773
<div className="flex flex-col gap-5 mt-8 px-7">
6874
<h1 className="text-center text-xl font-bold mb-5">이벤트 상세 정보</h1>
6975
<FileUpload value={bannerImageUrl} onChange={setBannerImageUrl} useDefaultImage={false} />
70-
<TextEditor value={description} />
76+
<TextEditor value={description} onChange={setDescription}/>
7177
<LinkInput value={referenceLinks} onChange={setReferenceLinks} />
7278
</div>
7379
<div className="w-full p-7">

src/pages/dashboard/ui/EventTagPage.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ const EventTagPage = () => {
1515
const { mutate } = useUpdateEventHook();
1616
const { data } = useEventDetail();
1717
useEffect(() => {
18-
console.log(data.result)
1918
if (data?.result.hashtags && setEventState) {
2019
setEventState(prev => ({
2120
...prev,
@@ -30,8 +29,7 @@ const EventTagPage = () => {
3029

3130
const requestData = {
3231
...data.result,
33-
// hostChannelId: data.result.hostChannelId,
34-
hostChannelId: 5,
32+
hostChannelId: data.result.hostChannelId,
3533
hashtags: cleanedTags,
3634
};
3735

0 commit comments

Comments
 (0)