기술 습관/React [프로그래머스] 타입스크립트로 함께하는 웹 풀 사이클 개발 12-4 - BoardList 생성 / BoardList style 생성 import React, { FC, useState } from "react"; import { useTypedSelector } from "../../hooks/redux"; import SideForm from "./SideForm/SideForm"; import { FiPlusCircle } from "react-icons/fi"; import { addButton, addSection, container, title } from "./BoardList.css"; type TBoardListProps = { activeBoardId: string; setActiveBoardId: React.Dispatch<React.SetStateAction<string>>; }; const BoardList: FC<TBoardListProps> = ({ activBoardId, setActivBoardId }) => { // header 내 게시판 리스트 const { boardArray } = useTypedSelector((state) => state.boards); const [isFormOpen, setIsFormOpen] = useState(false); return ( <div className={container}> {/* header 내 게시판 리스트 UI */} <div className={title}>게시판:</div> {boardArray.map((board, idx) => ( <div key={board.boardId}> <div>{board.boardName}</div> </div> ))} {/* 게시판 추가 버튼 UI */} <div className={addSection}> { isFormOpen ? <SideForm setIsFormOpen={setIsFormOpen}></SideForm> : <FiPlusCircle className={addButton} onClick={()=> setIsFormOpen(!isFormOpen)}/> } </div> </div> ); }; export default BoardList; import { style } from "@vanilla-extract/css"; import { vars } from "../../App.css"; export const container = style({ display: 'flex', flexDirection: 'row', alignItems: 'center', flexWrap: 'wrap', // wrap 설정시 width를 줄일 경우 아래로 내려가도록 설정 rowGap: 15, // space 확보 minHeight: 'max-content', padding: vars.spacing.big2, backgroundColor: vars.color.mainDarker }) export const title = style({ color: vars.color.brightText, fontSize: vars.fontSizing.T2, marginRight: vars.spacing.big1, }) export const addButton = style({ color: vars.color.brightText, fontSize: vars.fontSizing.T2, cursor: 'pointer', marginLeft: vars.spacing.big1, ":hover": { opacity: 0.8 } }) export const boardItem = style({ color: vars.color.brightText, fontSize: vars.fontSizing.T3, backgroundColor: vars.color.mainFaded, padding: vars.spacing.md, borderRadius: 10, cursor: 'pointer', marginRight:vars.spacing.big1, ":hover":{ opacity: 0.8, transform: "scale(1.03)" } }) export const boardItemActive = style({ }) export const addSection = style({ }) export const smallTitle = style({ }) 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기기술 습관 Contents 당신이 좋아할만한 콘텐츠 [웹 풀 사이클 개발] 14-03 book store app 리액트 생성 / 레이아웃 구성 / styled component / 테마 만들기 및 테마 스위처 context api 2024.05.30 [프로그래머스] 타입스크립트로 함께하는 웹 풀 사이클 개발 13-1 2024.05.22 [프로그래머스] 타입스크립트로 함께하는 웹 풀 사이클 개발 12-2 2024.05.17 [프로그래머스] 타입스크립트로 함께하는 웹 풀 사이클 개발 12-1 2024.05.14 댓글 0 + 이전 댓글 더보기