From bbfb1f686d611c74d2e6cf7bbd75d4b8d3ebea6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=AC=B8=EC=B0=BD=EB=AF=BC?= Date: Wed, 24 Sep 2025 14:39:16 +0900 Subject: [PATCH 01/18] =?UTF-8?q?=EA=B2=8C=EC=8B=9C=ED=8C=90=20UI=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EA=B5=AC=ED=98=84?= =?UTF-8?q?=ED=96=88=EC=8A=B5=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/Board/CreatePostModal.jsx | 85 +++++++ .../Board/CreatePostModal.module.css | 208 ++++++++++++++++ frontend/src/pages/Board.jsx | 157 ++++++++++++- frontend/src/pages/Board.module.css | 222 ++++++++++++++++++ 4 files changed, 669 insertions(+), 3 deletions(-) create mode 100644 frontend/src/components/Board/CreatePostModal.jsx create mode 100644 frontend/src/components/Board/CreatePostModal.module.css create mode 100644 frontend/src/pages/Board.module.css diff --git a/frontend/src/components/Board/CreatePostModal.jsx b/frontend/src/components/Board/CreatePostModal.jsx new file mode 100644 index 00000000..2c8be13d --- /dev/null +++ b/frontend/src/components/Board/CreatePostModal.jsx @@ -0,0 +1,85 @@ +import React, { useState } from 'react'; +import styles from './CreatePostModal.module.css'; + +function CreatePostModal({ isOpen, onClose, onSubmit }) { + const [title, setTitle] = useState(''); + const [content, setContent] = useState(''); + const [permission, setPermission] = useState(''); + + const handleSubmit = (e) => { + e.preventDefault(); + + if (!permission) { + alert('접근 권한을 선택해주세요.'); + return; + } + + onSubmit({ title, content, permission }); + setTitle(''); + setContent(''); + setPermission(''); + }; + + if (!isOpen) return null; + + return ( +
+
e.stopPropagation()}> +
+

게시글 작성

+ +
+ +
+
+ + setTitle(e.target.value)} + className={styles.titleInput} + /> +
+ +
+ +
+
+ 📁 + 파일 추가 +
+