From fa6713a52409b74b04c7873be5fe96eb03af4a4a Mon Sep 17 00:00:00 2001 From: hg_yellow Date: Sat, 3 Aug 2024 14:20:46 +0900 Subject: [PATCH 01/22] =?UTF-8?q?feat:=20#59=20wapper=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 19 +- src/components/GlassCard.js | 6 +- src/pages/Vote.js | 395 ++++++++++++++------------- src/pages/auth/Signin.js | 11 +- src/pages/auth/Signup.js | 10 +- src/pages/community/CommunityInfo.js | 148 +++++----- src/pages/community/CommunityQNA.js | 148 +++++----- src/pages/posts/PostDetail.js | 311 ++++++++++----------- src/pages/posts/PostInfo.js | 106 ++++--- src/pages/posts/PostQNA.js | 108 ++++---- src/pages/posts/UpdatePost.js | 108 ++++---- src/pages/posts/WritePost.js | 206 -------------- 12 files changed, 693 insertions(+), 883 deletions(-) delete mode 100644 src/pages/posts/WritePost.js diff --git a/src/App.js b/src/App.js index fdf59b1..c8860a2 100644 --- a/src/App.js +++ b/src/App.js @@ -15,7 +15,6 @@ import CommunityMain from './pages/community/CommunityMain'; import CommunityInfo from './pages/community/CommunityInfo'; import CommunityQNA from './pages/community/CommunityQNA'; import UpdatePost from './pages/posts/UpdatePost'; -import WritePost from './pages/posts/WritePost'; import Store from './pages/Store'; import Vote from './pages/Vote'; import Interview from './pages/interview/Interview'; @@ -46,17 +45,17 @@ function App() { } /> } /> - } /> + } /> } /> - } /> + } /> - } /> - }/> - }/> - }/> - - } /> - } /> + } /> + } /> + } /> + } /> + + } /> + } /> diff --git a/src/components/GlassCard.js b/src/components/GlassCard.js index 40bbfab..3abe70e 100644 --- a/src/components/GlassCard.js +++ b/src/components/GlassCard.js @@ -15,10 +15,10 @@ const GlassContainer = styled.div` border: 1px solid rgba(255, 255, 255, 0.3); `; -const GlassCard = ({ children , width, margin}) => { +const GlassCard = ({ children, width, margin, onClick }) => { - return( - + return ( + {children} ) diff --git a/src/pages/Vote.js b/src/pages/Vote.js index 32ed4ac..2f1d57c 100644 --- a/src/pages/Vote.js +++ b/src/pages/Vote.js @@ -6,6 +6,8 @@ import palette from '../styles/pallete'; import Modal from 'react-modal'; import img from '../assets/default.png'; import Header from '../components/Header'; +import Wrapper from "../components/Wrapper"; +import GlassCard from "../components/GlassCard"; import { RemoveModal } from '../components/modal/RemoveModal'; import { localStorageGetValue } from '../utils/CryptoUtils'; @@ -251,205 +253,210 @@ const Vote = () => { return ( <>
- - <TitleTextGroup> - <div style={{ fontSize: '60px', fontWeight: 'bold' }}>CS 투표</div> - <div style={{ marginTop: '40px', fontSize: '30px' }}> - 추가했으면 좋을 것 같은 질문이 있나요? - <br /> - 질문을 등록하고, 다른 사람의 질문의 카테고리를 투표해주세요! - </div> - </TitleTextGroup> - <img src={img} width={'20%'} alt={'기본 이미지'}></img> - -
- - setIsModalOpen(true)}>질문 생성 -
+
+ + <TitleTextGroup> + <div style={{ fontSize: '60px', fontWeight: 'bold' }}>CS 투표</div> + <div style={{ marginTop: '40px', fontSize: '30px' }}> + 추가했으면 좋을 것 같은 질문이 있나요? + <br /> + 질문을 등록하고, 다른 사람의 질문의 카테고리를 투표해주세요! + </div> + </TitleTextGroup> + <img src={img} width={'20%'} alt={'기본 이미지'}></img> + +
+ + setIsModalOpen(true)}>질문 생성 +
+ 투표 결과를 바탕으로 질문이 DB에 추가될 예정이예요! +
+
+ + {voteInfos && + voteInfos.resultList.map((vote, idx) => { + return ( + +
+
+ Q. {vote.question} +
+ + {vote.stackDtos && + vote.stackDtos.map((stack, idx) => ( +
+ {vote.myVoteStackId > 0 ? ( +
+ ({getRatio(vote.stackDtos, stack)}%) +
+ ) : null} + fetchVote(vote.questionId, stack.stackId) + : null + } + > + {findStack(stack.stackId)} + +
+ ))} +
+
+ {memberRole === 'ADMIN' &&
+ { + setInsertStackQuestion(vote); + setIsInsertStackModalOpen(true); + }}> + 등록 + + { + setDeleteQuestionId(vote.questionId); + setIsRemoveModalOpen(true); + }}> + 삭제 + +
} +
+ ) + })} +
+ {voteInfos && ( + + { + setCurrentPage(currentPage - 1); + }} + disabled={currentPage === 0} + > + 이전 + + {voteInfos.pageList.map((page) => ( + { + setCurrentPage(page - 1); + }} + active={currentPage === page - 1} + > + {page} + + ))} + { + setCurrentPage(currentPage + 1); + }} + disabled={currentPage === voteInfos.totalPage - 1} + > + 다음 + + + )} +
+ setIsRemoveModalOpen(false)} + onClick={() => { + fetchDeleteQuestion(); + setIsRemoveModalOpen(false); + }} /> + setIsModalOpen(false)} style={{ - marginTop: '80px', - fontSize: '25px', - marginLeft: '150px', + content: { + top: '200px', + left: '500px', + right: '500px', + bottom: '100px', + borderRadius: '30px', + border: 'none', + background: `${palette.pink}`, + } }} > - 투표 결과를 바탕으로 질문이 DB에 추가될 예정이예요! -
- - - {voteInfos && - voteInfos.resultList.map((vote, idx) => { - return ( - -
-
- Q. {vote.question} + +

새로운 질문 생성

+