Skip to content

Commit

Permalink
feat: 위키 작성 시 상세 페이지로 이동하도록 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
Parkhanyoung committed Feb 23, 2025
1 parent 5afc224 commit 031c13d
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 15 deletions.
11 changes: 2 additions & 9 deletions src/_components/MaeilWiki/Home/WikiSubmitModal/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@
import Button from '@/_components/common/Button/Button';
import Modal from '@/_components/common/Modal';
import * as React from 'react';
import { postWiki } from '../../_apis/wiki';
import { WIKI_CATEGORY, WIKI_CATEGORY_KO } from '../../_constants/wikiCategory';
import { WikiCategory } from '../../_types/wikiCategory';
import { useMutation } from '@tanstack/react-query';
import {
asterisk,
categoryInputs,
Expand All @@ -27,6 +25,7 @@ import {
categoryLabel,
} from './wikiSubmitModal.css';
import CloseIcon from '@/_assets/images/maeilWiki/closeIcon.svg';
import { usePostWiki } from '../_hooks/usePostWiki';

export interface WikiSubmitModalProps {
isOpen: boolean;
Expand All @@ -39,13 +38,7 @@ export default function WikiSubmitModal({ isOpen, onClose }: WikiSubmitModalProp
const [category, setCategory] = React.useState<WikiCategory>(WIKI_CATEGORY.backend);
const [isAnonymous, setIsAnonymous] = React.useState(false);

const { mutate, isPending } = useMutation({
mutationFn: postWiki,
onSuccess: () => {
window.alert('질문이 등록되었습니다!');
window.location.reload();
},
});
const { mutate, isPending } = usePostWiki();

const onChangeQuestion = (e: React.ChangeEvent<HTMLInputElement>) => {
setQuestion(e.target.value);
Expand Down
16 changes: 16 additions & 0 deletions src/_components/MaeilWiki/Home/_hooks/usePostWiki.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { useRouter } from 'next/navigation';
import { postWiki } from '../../_apis/wiki';

export const usePostWiki = () => {
const router = useRouter();
const queryClient = useQueryClient();

return useMutation({
mutationFn: postWiki,
onSuccess: (createdWikiId) => {
router.push(`/wiki/${createdWikiId}`);
queryClient.invalidateQueries({ queryKey: ['wiki'] });
},
});
};
4 changes: 2 additions & 2 deletions src/_components/MaeilWiki/Wiki/wiki.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -291,11 +291,11 @@ export const wikiCommentInputSection = style({
display: 'flex',
flexDirection: 'column',
gap: '2rem',
marginTop: '4rem',
marginTop: '2rem',

'@media': {
'(max-width: 800px)': {
marginTop: '2rem',
marginTop: '0',
},
},
});
Expand Down
8 changes: 4 additions & 4 deletions src/_components/MaeilWiki/_apis/wiki.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,17 @@ export interface PostWikiBody {
questionDetail?: string;
}

export const postWiki = async (body: PostWikiBody) => {
export const postWiki = async (body: PostWikiBody): Promise<string | null> => {
try {
if (!body.question) {
return;
return null;
}

const res = await mainClient.request<GetWikiListResponse>('POST', API_ROUTES.wiki, body);

res.headers.forEach(console.log);
const createdWikiId = res.headers.get('location');

return res.headers;
return createdWikiId;
} catch (error) {
throw error;
}
Expand Down

0 comments on commit 031c13d

Please sign in to comment.