Skip to content

Commit 5e2ddeb

Browse files
author
Ubuntu
committed
Resolve merge conflict in ActiveEditor.tsx
2 parents e8776b4 + 73f12a0 commit 5e2ddeb

File tree

6 files changed

+43
-9
lines changed

6 files changed

+43
-9
lines changed

src/components/post/PostHead.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ const PostHead: React.FC<PostHeadProps> = ({
176176
toggleAskRemove();
177177
onRemove();
178178
};
179+
179180
return (
180181
<PostHeadBlock>
181182
<div className="head-wrapper">

src/components/write/WriteMarkdownEditor.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ require('codemirror/mode/markdown/markdown');
2121
require('codemirror/mode/javascript/javascript');
2222
require('codemirror/mode/jsx/jsx');
2323
require('codemirror/addon/display/placeholder');
24+
require('codemirror/mode/dockerfile/dockerfile');
2425

2526
export interface MarkdownEditorProps {
2627
onChangeMarkdown: (markdown: string) => void;

src/containers/post/PostViewer.tsx

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ const PostViewer: React.FC<PostViewerProps> = ({
101101
);
102102
const prefetched = useRef(false);
103103

104+
const [isRemoveLoading, setIsRemoveLoading] = useState(false);
104105
const [removePost] = useMutation(REMOVE_POST);
105106
const [postView] = useMutation(POST_VIEW);
106107
const [likePost, { loading: loadingLike }] = useMutation(LIKE_POST);
@@ -252,15 +253,27 @@ const PostViewer: React.FC<PostViewerProps> = ({
252253

253254
const onRemove = async () => {
254255
if (!data || !data.post) return;
256+
setIsRemoveLoading(true);
255257
try {
256258
await removePost({
257259
variables: {
258260
id: data.post.id,
259261
},
260262
});
261-
history.push('/');
262-
await client.resetStore();
263-
} catch (e) {}
263+
264+
toast.success('게시글이 성공적으로 삭제되었습니다.', {
265+
autoClose: 800,
266+
onClose: () => {
267+
const redirect = `${process.env
268+
.REACT_APP_CLIENT_V3_HOST!}/@${username}/posts`;
269+
window.location.href = redirect;
270+
},
271+
});
272+
} catch (e) {
273+
toast.error('게시글 삭제 실패');
274+
console.error('Post deletion failed:', e);
275+
setIsRemoveLoading(false);
276+
}
264277
};
265278

266279
if (error) {
@@ -377,7 +390,7 @@ const PostViewer: React.FC<PostViewerProps> = ({
377390
}
378391
};
379392

380-
if (!data || !data.post) return <PostSkeleton />;
393+
if (!data || !data.post || isRemoveLoading) return <PostSkeleton />;
381394

382395
const { post } = data;
383396

src/containers/velog/SeriesPosts.tsx

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,33 +40,48 @@ const SeriesPosts: React.FC<SeriesPostsProps> = ({ username, urlSlug }) => {
4040
const user = useUser();
4141
const isOwnSeries = user && user.username === username;
4242
const [askRemove, setAskRemove] = useState(false);
43+
const [isSkip, setIsSkip] = useState(false);
4344
const [removeSeries] = useMutation(REMOVE_SERIES);
4445
const { data } = useQuery<GetSeriesResponse>(GET_SERIES, {
4546
variables: {
4647
username,
4748
url_slug: urlSlug,
4849
},
4950
fetchPolicy: 'cache-and-network',
51+
skip: isSkip,
5052
});
5153

5254
const client = useApolloClient();
5355

5456
const onAskRemove = () => setAskRemove(true);
5557
const onConfirmRemove = async () => {
5658
try {
59+
setIsSkip(true);
60+
setAskRemove(false);
61+
62+
if (!data?.series?.id) {
63+
throw new Error('Series ID is not available');
64+
}
65+
5766
await removeSeries({
5867
variables: {
59-
id: data?.series?.id,
68+
id: data.series.id,
6069
},
6170
});
6271

6372
await client.resetStore();
6473

65-
const redirect = `${process.env
66-
.REACT_APP_CLIENT_V3_HOST!}/@${username}/series`;
67-
window.location.href = redirect;
74+
toast.success('시리즈가 성공적으로 삭제되었습니다.', {
75+
autoClose: 800,
76+
onClose: () => {
77+
const redirect = `${process.env
78+
.REACT_APP_CLIENT_V3_HOST!}/@${username}/series`;
79+
window.location.href = redirect;
80+
},
81+
});
6882
} catch (e) {
6983
toast.error('시리즈 삭제 실패');
84+
console.error('Series deletion failed:', e);
7085
}
7186
};
7287

src/containers/write/ActiveEditor.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,10 @@ const ActiveEditor: React.FC<ActiveEditorProps> = () => {
7676
const post = safe(() => readPostForEdit.data!.post);
7777
useEffect(() => {
7878
if (!post) return;
79+
<<<<<<< HEAD
7980
console.log('post.series', post.series);
81+
=======
82+
>>>>>>> 73f12a01808fdb526603ead04a10d55780b4da6d
8083
if (initialized.current) return;
8184
dispatch(
8285
prepareEdit({

src/lib/remark/prismPlugin.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import 'prismjs/components/prism-ruby.min';
2828
import 'prismjs/components/prism-rust.min';
2929
import 'prismjs/components/prism-yaml.min';
3030
import 'prismjs/components/prism-dart';
31+
import 'prismjs/components/prism-docker';
3132

3233
import { ssrEnabled } from '../utils';
3334

@@ -73,5 +74,5 @@ export default function attacher({ include, exclude } = {}) {
7374
// 'language-' + lang,
7475
// ];
7576
}
76-
return ast => visit(ast, 'code', visitor);
77+
return (ast) => visit(ast, 'code', visitor);
7778
}

0 commit comments

Comments
 (0)