[강의평가사이트] 개발 일지(4)

    728x90

    프로젝트 진행 중 개발 일지를 너무 안 쓴 것 같아서 기록하려고 한다.

     

    내가 맡은 페이지(하위 컴포넌트/모달 포함)

    - 로그인, 아이디 찾기, 비밀번호 찾기, 내 정보, 내가 쓴 글

     

    현재 전체적인 디자인 작업은 거의 끝나가는 과정이며,

    팀원들과 페이지 작업물을 합치는 작업을 진행중에 있다.

     

    <홈 화면 - 팀원>

     - nav바에 있는 각 버튼들 위치 수정중에 있음

     

     

    <로그인 - 나>

    - 전에 쓰던 디자인이랑 달라졌는데, 이유는 다른 팀원이 만든 <회원가입> 페이지랑 UI를 통일하는게 좋을 것 같아서

    원래 있던 로고 삭제 및 로그인 버튼을 교체했다.(원래 Material UI를 사용했는데 팀원이 직접 만든 버튼으로 통일)

    밑에 아이디 찾기/ 비밀번호 찾기 링크도 hover시 색변환하도록 디자인하였다.

    export const IdPwSearchLink = styled.div`
        &:hover, &:active {
            color: #4b10f2;
        }
          padding: 10px;
          font-size: 16px;
          color:rgb(158,158,158);
          font-weight: bold
    
    `

     

    <아이디찾기 - 나>
    <비밀번호 찾기 - 나>

    - 아이디 찾기/ 비밀번호 찾기 페이지도 통일성을 위해 로고를 삭제하고 헤더를 삽입했다.

    버튼 또한 통일하였다.

     

    <회원가입 - 팀원>

    회원가입 페이지는 다른 팀원이 제작하셨고, 각 input창에 입력할때마다 useState로 조건문을 달아

    아이디와 비밀번호 검사를 하게 만드셨다. (회원가입 버튼도 원래 gray색인데, 모든 조건 충족시 파란 색으로 변경)

     

    <로그인 반응형>

    일단 내가 만든 모든 페이지는 반응형으로 제작하여 PC화면에서는 border를 숨겨놓았고

    모바일 화면에서는 border가 뜨도록 설정해두었다.

     

    <내 정보 - 나>

    로그인 시 위의 nav바에 있는 로그인 버튼이 <내 정보>로 바뀌게 되는데 그 때 나오게 되는 페이지이다.

    MUI의 Grid속성을 써서 제작하였고, 반응형도 잘 나온다. 아직 BackEnd랑 연동이 안되어서 포인트나 기타 정보들은

    현재 연결이 안되어있는 상태이다. 두번째 box에 보이는 <내가 쓴 글> 버튼을 클릭 시에

     

    <내가 쓴 글 - 강의평가 - 나>
    <내가 쓴 글 - 시험정보 - 나>

    <내가 쓴 글> 페이지로 이동하게 되는데, 이 페이지를 제작하는데 시간이 조금 많이 걸렸다.

    일단 강의평가, 시험정보를 클릭 시에 나오는 컴포넌트를 모두 제작해야 했고,

    자세히 보기를 누르면 나오는 모달, 수정버튼을 누르면 나오는 모달을 전부 제작해야 했기 때문이다.

    각 과목 구현은 아직 데이터가 없어서 배열에 과목명을 넣고, map함수로 반복문을 돌려서 만들었다.

                // 강의평가, 시험정보 컴포넌트 변경
                <TextLink className={evaluation===true?'selected':'no'} 
                onClick={() => { setEvaluation(true)  }}>강의평가</TextLink>
                <TextLink onClick={() => { setEvaluation(false) }}>시험정보</TextLink>
                {
                  evaluation === true ? <Myevaluation /> : <Testinformation />
                }
    // 과목명 구현
    let [subjectName, setSubjectName] = useState(['학문과 사고', '네트워크 개론', '데이터베이스', '운영체제론', '졸업프로젝트'])
    
    {subjectName.map((name, index) =>
              <Subject subjectName={subjectName} setSubjectName={setSubjectName} index={index} />,
            )}

     

    <강의평가 수정 모달 - 나>
    <시험정보 수정 모달 - 나>

    Modal은 react-modal 라이브러리를 사용하여 구현하였고, Z-index값을 많이 올려서 다른 컴포넌트들보다도

    우선시 되도록 설정하였다.

    현재는 디자인만 해놓은 상태고, 아직 기능은 구현하지 못했다.

    (모바일 화면에서 볼 경우 UI가 많이 망가져서 모바일용 모달을 따로 제작할 생각이다)

     

    // Modal 실행 관련 함수
    const [modalIsOpen, setModalIsOpen] = useState(false);
          
          <Modal 
          isOpen={modalIsOpen}
    			style={모달스타일}
    			ariaHideApp={false}
          onRequestClose={() => setModalIsOpen(false)}
        	>
        		<Editevaluation setModalIsOpen={setModalIsOpen} />
        	</Modal>

     

    728x90

    댓글