Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[신승헌] sprint10 #632

Merged
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
14ab44a
refactor: api 호출 함수 부분 useEffect 내부로 이동
AdamSeungheonShin Jun 4, 2024
c68a248
refactor: 검색 input 핸들러 함수에 불필요한 함수 호출 제거
AdamSeungheonShin Jun 4, 2024
a9c3fe8
refactor: 드롭다운 클릭 범위 수정, 포인터 옵션 수정
AdamSeungheonShin Jun 4, 2024
287eaaa
refactor: 인기게시물 조건부 렌더링 부분 수정
AdamSeungheonShin Jun 4, 2024
d35d413
refactor: 추상적인 타입명 구체적으로 수정
AdamSeungheonShin Jun 4, 2024
fedc2ae
refactor[pages/boards/index.tsx]: 불필요한 재할당 부분 삭제
AdamSeungheonShin Jun 4, 2024
e65364d
feat: SSG -> SSR 변경
AdamSeungheonShin Jun 5, 2024
096204e
feat: 초기 데이터 로딩 SSR로 변경
AdamSeungheonShin Jun 5, 2024
8ce5d26
feat: 게시글 작성 기본 ui 제작
AdamSeungheonShin Jun 6, 2024
cdd40ad
feat: 제목, 내용 작성 인풋 제작
AdamSeungheonShin Jun 6, 2024
e9e552d
feat: 파일인풋 제작, 새게시물 작성 폼 일부 수정, 타입선언 빠트린 부분 수정
AdamSeungheonShin Jun 6, 2024
1230632
feat: 파일인풋 이미지 미리보기, 이미지 삭제하기 기능 추가
AdamSeungheonShin Jun 6, 2024
ba764dd
feat: 파일인풋, 이미지인풋 css 작성
AdamSeungheonShin Jun 6, 2024
0a764eb
feat: 페이지 라우팅 Link 경로 수정
AdamSeungheonShin Jun 6, 2024
5137cb2
feat: 게시글 상세 페이지 기본 ui 작성
AdamSeungheonShin Jun 7, 2024
9941c08
feat: 게시글 상세 데이터 호출부 작성
AdamSeungheonShin Jun 7, 2024
f818ee2
feat: 게시글 상세 페이지 이미지 박스, 디폴트 이미지 추가
AdamSeungheonShin Jun 7, 2024
7826d77
refactor: 파일명 수정, 임포트한 파일 변수명 수정
AdamSeungheonShin Jun 7, 2024
e1211cc
refactor: 게시물 상세 이미지 잘림 오류 css 수정
AdamSeungheonShin Jun 7, 2024
369410b
feat: 댓글 리스트 컴포넌트 기본 ui 작성
AdamSeungheonShin Jun 7, 2024
1bfe187
feat: 댓글 api 호출 부분 작성, Type추가, props 지정
AdamSeungheonShin Jun 7, 2024
24601a3
feat: 지난 시간 카운트 유틸함수 작성
AdamSeungheonShin Jun 7, 2024
1e00784
feat: 댓글 등록버튼 추가, form태그로 수정 및 이벤트 함수 추가
AdamSeungheonShin Jun 7, 2024
9ebe7c8
feat: 댓글 등록 버튼 유효성 검사 옵션 추가
AdamSeungheonShin Jun 7, 2024
c3e8b44
feat: 게시글 작성 버튼 유효성 검사 옵션 추가
AdamSeungheonShin Jun 7, 2024
12a4711
feat: 게시글 작성 submit 함수 수정, post 함수 작성
AdamSeungheonShin Jun 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 57 additions & 8 deletions components/Boards/NewArticleForm.tsx
Original file line number Diff line number Diff line change
@@ -1,30 +1,79 @@
import { ChangeEvent, FormEvent, useState } from "react";

export default function NewArticleForm() {
const [values, setValues] = useState({
title: "",
content: "",
image: null,
});

const handleInputChange = (
e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>
) => {
const { name, value } = e.target;
setValues((preValues) => ({
...preValues,
[name]: value,
}));
};

const handleSubmit = (e: FormEvent<HTMLFormElement>) => {
e.preventDefault();
// TODO 테스트용, 삭제예정
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍👍👍👍

console.log(values.title);
console.log(values.content);
console.log(values.image);
};

return (
<>
<div className="h-11 flex justify-between items-center mb-6">
<h2 className="text-xl font-bold">게시글 작성</h2>
<button className="w-20 h-10 flex justify-center items-center bg-gray-default rounded-button text-white">
<button
className="w-20 h-10 flex justify-center items-center bg-gray-default rounded-button text-white"
type="submit"
form="article"
>
등록
</button>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

등록버튼은

태그 안으로 들어와야 sementic적읋 맞을것 같구요!
button의 타입은 submit이어야 할 것 같습니다 !

</div>
<form className="flex flex-col gap-3">
<label className="text-lg font-bold">*제목</label>
<form
className="flex flex-col gap-3"
onSubmit={handleSubmit}
id="article"
>
<label className="text-lg font-bold" htmlFor="title">
*제목
</label>
<input
className="h-14 mb-3 px-6 py-4 bg-gray-100 rounded-box"
type="text"
placeholder="제목을 입력해주세요"
type="text"
id="title"
name="title"
value={values.title}
onChange={handleInputChange}
/>

<label className="text-lg font-bold">*내용</label>
<label className="text-lg font-bold" htmlFor="content">
*내용
</label>
<textarea
className="h-72 mb-3 px-6 py-4 bg-gray-100 rounded-box"
placeholder="내용을 입력해주세요"
id="content"
name="content"
value={values.content}
onChange={handleInputChange}
/>

<label className="text-lg font-bold">이미지</label>
<label className="text-lg font-bold" htmlFor="image">
이미지
</label>
<input
className="w-72 h-72 mb-3 bg-gray-100 rounded-box"
placeholder="이미지등록"
type="file"
id="image"
name="imageForArticle"
/>
</form>
</>
Expand Down