feat: CreateArticle, index.js 추가
This commit is contained in:
parent
02687ba6a0
commit
65e6d05b74
@ -0,0 +1,40 @@
|
|||||||
|
import { Link } from "react-router-dom"
|
||||||
|
import styles from "./CreateArticle.module.css"
|
||||||
|
|
||||||
|
|
||||||
|
export default function CreateArticle() {
|
||||||
|
// TODO: 입력 크기에 따라 반응형으로 textarea 크기 변경
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div>
|
||||||
|
<header className={styles.header}>
|
||||||
|
<div>
|
||||||
|
<Link to={'/'} className={styles.backButton}>
|
||||||
|
<div>-</div>
|
||||||
|
<div className={styles.backText}>Q&A</div>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div className={styles.title}>질문하기</div>
|
||||||
|
</header>
|
||||||
|
<div className={styles.formWrapper}>
|
||||||
|
<form>
|
||||||
|
<div className={styles.fieldWrapper}>
|
||||||
|
<label className={styles.label}>제목</label>
|
||||||
|
<input type="text" className={styles.titleInput} />
|
||||||
|
</div>
|
||||||
|
<div className={styles.fieldWrapper}>
|
||||||
|
<label className={styles.label}>내용</label>
|
||||||
|
<textarea className={styles.contentInput}></textarea>
|
||||||
|
</div>
|
||||||
|
<div className={styles.buttonWrapper}>
|
||||||
|
<button className={styles.button}>
|
||||||
|
<div>| i |</div>
|
||||||
|
<div className={styles.buttonText}>글 쓰기</div>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
@ -0,0 +1,87 @@
|
|||||||
|
.header {
|
||||||
|
padding-left: 20px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backButton {
|
||||||
|
display: flex;
|
||||||
|
color: var(--text-color-secondary);
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
line-height: 1.2;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 20px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backText {
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 32px;
|
||||||
|
line-height: 1.2;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formWrapper {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fieldWrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
color: var(--text-color);
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.4;
|
||||||
|
font-weight: 400;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titleInput {
|
||||||
|
padding: 20px;
|
||||||
|
background: var(--background-color);
|
||||||
|
border: 1px solid var(--border-color);
|
||||||
|
border-radius: 8px;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1.2;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contentInput {
|
||||||
|
padding: 20px;
|
||||||
|
height: 150px;
|
||||||
|
background: var(--background-color);
|
||||||
|
border: 1px solid var(--border-color);
|
||||||
|
border-radius: 8px;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.4;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.buttonWrapper {
|
||||||
|
display: flex;
|
||||||
|
justify-content: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
padding: 16px 24px;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid var(--primary-color);
|
||||||
|
background-color: var(--primary-color);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttonText {
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.4;
|
||||||
|
font-weight: 700;
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
3
frontend/src/components/Article/index.js
Normal file
3
frontend/src/components/Article/index.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export { default as ArticleDetail } from './ArticleDetail/ArticleDetail.jsx';
|
||||||
|
export { default as ArticleDetailAnswer } from './ArticleDetail/ArticleDetailAnswer/ArticleDetailAnswer.jsx';
|
||||||
|
export { default as CreateArticle } from './CreateArticle/CreateArticle.jsx';
|
Loading…
Reference in New Issue
Block a user