-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FE] feature: 리뷰 연결, 목록, 상세 페이지의 반응형 레이아웃 구현 #630
[FE] feature: 리뷰 연결, 목록, 상세 페이지의 반응형 레이아웃 구현 #630
Conversation
이 부분 오류가 css 속성 우선 순위에 따라 뒤에 정의된 media.medium가 적용되어서 그런 것 같네요 혹시 medium과 small의 선언 순서를 바꿔서 적용해보셨나요? |
width: 80%; | ||
} | ||
|
||
@media (min-width: 1024px) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@media (min-width: 1024px) { | |
export const DetailedReviewPageContents = styled.div` | |
width:80% | |
@media (max-width: 767px) { | |
width: 92%; | |
} |
이렇게 해도 되는데 @media (min-width: 1024px)로 width를 지정한 이유가 있을까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[위] 크기를 덮어 쓰는 문제라 바다 말대로 반대로 하면 적용될 것 같네요!
미디어 쿼리를 사용할 때 항상 크기가 작은 것 -> 큰 것 순서대로 오름차순 나열을 해야 한다(Gxx 피셜)고 알고 있었어서 순서를 유지하되 더 촘촘히 범위를 설정해줘야 하는 줄 알았는데..알고보니 반대였군요 😂
지금 바다와 에프이가 개선된 media 유틸 이야기를 나눈 걸 다 보고 온 상태입니다. 거기서 나왔던 말대로, 미디어 쿼리에 and를 적용하면 특정 breakpoint 이하에 일괄적으로 적용할 때 중복 코드가 생기니까 내림차순 크기 정렬을 하는 것까지 이해했습니다! 이 부분은 새 유틸을 적용할 때 함께 고칠게요.
[아래]이대로라면 기본이 80%, 767px까지 92%이면 1024부터는 70%대신 다시 80%가 적용되는 게 아닌가요?
사실 제가 질문을 잘 이해하지 못했습니다 😅😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
미디어 쿼리 지정할 때 큰 크기-> 작은 크기, 작은 크기-> 큰 크기로 두 가지로 방법으로 지정할 수 있어요. (어떤 것을 선택할지에는 정답이 없어요. 단! 미디어 쿼리의 범위가 헷갈리지 않게 흐름을 유지하는게 좋아요. )
media가 max 기준으로 되어 있고, 데스크탑 기준으로 기존에 한 디자인 작업이 있기 때문에 큰 크기-> 작은 크기 흐름으로 뷰를 좁혀간다고 생각하면 쉬울 거에요
큰 크기에서 작은 크기 기준으로 좁혀가니까, media.medium -> media.small 순으로 width를 지정한다면 마지막에 min-width를 사용할 필요가 없어져요.
media를 작은 크기에서 큰 크기로 갔기 때문에, 기존에 작업 했던 데스크탑 기준의 크기 설정을 유지하기 위해서 마지막에 min-width를 사용한 경우들이 보여서 이야기 나누고 싶었어요 😊
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오 당초 default 해상도가 데스크탑이었으니 큰 -> 작으로 간다는 흐름이 자연스럽네요!! 1024px도 그런 맥락에서 나온 이야기였군요 ㅎㅎㅎ
이번에 새 media 받고 수정할 때 내림차순으로 작업할게요~ 친절하게 알려주셔서 감사합니당ㅋㅋㅋㅋ
…eview-me into fe/feature/622-responsive-list-reviewzone-detail
@@ -9,30 +13,44 @@ export const ContentModalContainer = styled.div` | |||
overflow: hidden; | |||
display: flex; | |||
flex-direction: column; | |||
gap: 2rem; | |||
align-items: center; | |||
gap: 2.8rem; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
헉 나름 확인한답시고 한번 들어가봤는데 캐치를 못 했네요 😂 바보다...
따로 스타일 주입해둘게요~
- 모달에서 텍스트 잘리는 건 단어를 기준으로 텍스트를 자르는 css 속성을 전역으로 빼보자는 이야기가 디코에서 한 번 나왔던 것 같은데, 그걸 반영하는 여부와 관계없이 조만간 얘기가 또 나올 것 같아서 별도로 적용해두진 않았습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
올리 반응형 작업 하느라 고생했어요.
브랜치 pull 받아서 반응형 모두 확인했어요. 잘 작동하네요 😊
ContentModal의 경우 리뷰 제출 확인 모달에 영향이 가서 이 부분과 글자 넘김 부분은 다시 확인해보면 좋을 것 같아request changes로 남겨둘게요.
공통 컴포넌트의 스타일이 변경이 필요할 때, 해당 공통 컴포넌트를 사용하는 곳에 영향을 없도록 올리가 사용하는 것 처럼 style을 props로 넣어서 해결하는 방향으로 가면 좋겠어요. 이 부분을 프론트 회의에서 이야기해봐요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
빠른 리뷰 반영이네요 😄
글자 넘김은 프론트 회의에서 확정하고 globalStyle에서 적용해보는 걸로 하죠!
구현하느라 고생했어요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
리뷰 확인할 때 비밀번호 모달 부분 줄바꿈 이슈가 있었는데, 이거는 회의가 필요한 부분이라 지금은 괜찮을 것 같아요.
반응형 작업 고생했어요!
…eview-me into fe/feature/622-responsive-list-reviewzone-detail
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
min-width: 30rem; | ||
max-width: 80vw; | ||
min-height: 30vh; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…dal 코드 추가, 에러 메세지를 보여주는 스타일 개선
* refactor: 리뷰의 답변 매핑 시, 필수가 아닌 질문 중 작성되지 않은 질문을 매핑하지 않도록 변경 * refactor: 사용하지 않는 상수 제거 * test: 필수가 아닌 질문이 답변되지 않을 경우 매핑 로직에 대한 테스트 작성 * [FE] feature: 리뷰 연결, 목록, 상세 페이지의 반응형 레이아웃 구현 (#630) * feat: ReviewZonePage 미디어 쿼리 적용 * feat: Footer에 미디어 쿼리 적용 * refactor: ReviewGuide 사이즈 조절 * feat: 리뷰미 Topbar 로고에 미디어 쿼리 적용 * feat: PasswordModal에 미디어 쿼리 적용 * feat: ContentModal에 미디어 쿼리 적용 * refactor: AlertModal의 확인 버튼 minWidth를 % 단위로 수정 * feat: DetailedReviewPage에 반응형 도입 * feat: ReviewListPage에 반응형 도입 * refactor: DetailedReviewPage의 Description에 반응형 padding 추가 * refactor: 변경된 media 유틸 형식에 맞게 미디어 쿼리 코드 수정 및 사이즈 내림차순 정렬 * refactor: 누락된 파일 업로드 * refactor: ContentModal에 스타일 prop 추가 * refactor: PasswordModal 스타일 수정 - maxWidth 설정 및 디테일 조절 * fix: 공통 컴포넌트인 ContentModal에서 특정 모달 스타일을 위한 코드 제거 * refactor: ContentModal에 style prop 추가 * refactor: ContentModal의 미디어 쿼리 적용에 따른 padding 감소를 무효화하기 위한 PasswordModal 코드 추가, 에러 메세지를 보여주는 스타일 개선 * [FE] refactor: scrollToTop을 유틸함수로 분리 (#637) * refactor: scrollToTop을 유틸 함수로 변경 * refactor: scrollToTop 유틸 함수 적용 * refactor: scrollToTop 관련 파일명 변경 및 export 방식 변경 * refactor: debounce 함수 선언문을 함수 표현문으로 변경 및 export 방식 변경 * refactor: isExistentElement export 방식 변경 * [BE] refactor: 패키지 `mapper`, `validator` 분리 (#598) * refactor: 패키지 `mapper`, `validator` 분리 * refactor: TemplateMapper 패키지명 변경 * refactor: PreviewGenerator 사용되는 패키지로 이동 * [FE] feat: 리뷰 홈 페이지 반응형 구현 (#633) * feat: 320px 이하 화면 크기를 위한 xxSmall 반응형 구현 * refactor: 상위 컨테이너에서 자식 요소로 스타일 지정 이동 * feat: 425px 이하 화면 크기를 위한 xSmall 반응형 구현 * feat: 768px 이하 화면 크기를 위한 small 반응형 구현 * refactor: 캐러셀 height 조정 * feat: 1024px 이하 화면 크기를 위한 medium 반응형 구현 * design: 캐러셀 position 제거 및 위치 조정 * feat: 화면 크기에 따른 홈 페이지 내 AlertModal 반응형 구현 * refactor: 수정된 media 유틸 적용 * design: URL 복사하기 버튼을 "리뷰 요청 URL" 텍스트 옆으로 이동 * design: 캐러셀 영역과 리뷰 폼 사이 간격 증가 * [FE] design : body에 단어 단위로 줄 바꿈 되는 속성 추가 (#635) * design: body에 word-break:kepp-all 적용 * design : body에 단어 단위 줄 넘기 추가로 인해 이전에 적용된 word-break 삭제 * design:ReviewZoneURLModal data에 word-break: break-all 적용 * [FE] fix: 리뷰 제출 확인 모달 border, border-radius 복원 (#647) * design: ReviewWritingCardLayout 에 border 속성 적용 * design : CardSlider에 border 속성 삭제 * refactor: ReviewWritingCard에 children props 추가 - ReviewWritingCardLayout에 적용한 border를 리뷰 작성 폼에 맞추어서 넣기 위해서, 이전/다음/제출/제출전 확인 버튼을 담은 ButtonContainer를 ReviewWritingCard의 children으로 주어야함 * [FE] feature: Breadcrumb 컴포넌트에 반응형 추가 (#645) * feat: Breadcrumb 컴포넌트에 반응형 코드 추가 * chore: 폰트 크기에 theme 반영 * [BE] refactor: DB 접근을 최소화 하도록 개선 (#617) * refactor: ReviewDetailMapper DB 쿼리 접근을 줄일 수 있도록 리팩토링 * refactor: ReviewListMapper DB 쿼리 접근을 줄일 수 있도록 리팩토링 * refactor: ReviewListMapper stream 연산 개선 * refactor: ReviewDetailMapper 불필요한 검증 로직 제거 * refactor: 사용하지 않는 쿼리 삭제 및 left join 제거 * refactor: optionGroup -> optionGroup 대신 Function::identity 사용 * test: 네이티브 쿼리 테스트 작성 및 사용하지 않는 쿼리 테스트 삭제 * style: 주석 제거 * Revert "refactor: ReviewListMapper stream 연산 개선" This reverts commit d472d1f. * refactor: ReviewCategoryResponse 매핑 구조 변경 * [FE] fix : 리뷰 제출 페이지에서 리뷰 대상(프로젝트,리뷰이)사라지는 오류 해결 (#651) * fix: CardFormWrapper 스타일을 만들어서 CardForm overflow로 인한 스타일 오류를 수정 * design: 320px에서 리뷰 제출 버튼 폰트 사이즈 수정 * design: 리뷰 작성 폼 버튼 반응형 스타일 변경 * fix: 리뷰 카드 border가 사라지는 오류 수정 * fix: 320px 에서 마지막 카드에 대한 캐러셀 오류 수정 - 오류: 마지막 카드로 넘길 때, 320px 뷰포트에서 카드가 다 넘어가지 않는 오류 - 오류 원인: 마지막 카드 순서에서 캐러셀의 카드 width가 CardForm의 width보다 작아짐 - 해결: Slide 스타일 컴포넌트에 width를 부모의 100%로 지정 * style: styelint 적용되지 않은 코드에 이를 적용 (#657) * [FE] fix : 반응형 오류 및 디자인 수정, 리뷰 목록 페이지 Description border-radius 오류 수정 (#655) * fix: ContentModal min-height 단위를 vh에서 %로 수정 - 모바일 브라우저 네이티브 바에 의해 동적으로 변하는 뷰포트 높이에 맞추기 위해 vh가 아닌 %를 사용 * fix: 리뷰 상세 페이지 Description 스타일 컴포넌트의 border radius 오류 수정 * [FE] feat: 리뷰 목록 페이지에서, 받은 리뷰가 없을 때 보여주는 널 페이지에 반응형 적용 및 그에 따른 기존 스타일 일부 수정 (#653) * feat: 리뷰 목록 페이지에서, 받은 리뷰가 없을 때 보여주는 널 페이지에 반응형 적용 및 그에 따른 기존 스타일 일부 수정 * fix: min-height을 상속받도록 변경 * [FE] feat: 모바일 환경에서 홈 페이지 캐러셀 드래그 기능 구현 (#658) * feat: 모바일 환경에서 캐러셀 드래그 기능 구현 * refactor: 이전, 다음 화살표 이미지 추가 후 적용 * refactor: MouseEvent 제거 * chore: 설명이 필요한 구간 주석 추가 * refactor: translate3d px을 rem으로 단위 변경 * refactor: 캐러셀 버튼에 대한 이미지 내용임을 알려주기 위해 alt 수정 * [FE] fix : ErrorAlertModal 가운데 정렬 오류 수정 (#662) * style: styelint 적용되지 않은 코드에 이를 적용 * fix: ErrorAlertModal의 가운데 정렬 오류 수정 - Contents에 width를 부모 너비로 설정하지 않아 오류가 발생 * design: SubmitErrorModal의 Message width 지정 * design: 425px이하에서 ErrorAlerModal 느낌표 아이콘 사이즈 조정 * chore: CardForm 모바일에서 margin:0 auto 삭제 - 부모에서 flex로 가운데 정렬하고 있어서 필요 없음 * fix: SubmitCheckModal에서 줄넘김 되도록 width 설정 변경 * [FE] refactor: Footer 반응형 경계값을 small(태블릿 세로 모드)로 수정 (#660) * refactor: Footer 반응형 경계값을 small(태블릿 세로 모드)로 수정 * refactor: Footer 반응형 경계를 xSmall(모바일)로 수정 * chore: stylelint 적용 * [FE] feat: 리뷰 작성 완료 페이지 반응형 구현 (#672) * feat: 작성 완료 페이지에 사용될 스마일 이미지 추가 * feat: 리뷰 작성 완료 페이지에 스마일 이미지 적용 및 반응형 구현 * feat: 리뷰 작성 완료 페이지 반응형 max-width 425px 기준으로 적용 * chore: 불필요한 코드 제거 * [FE] feat: Brotli 압축 적용 (#680) * ci: brotli-webpack-plugin 설치 * fix: 웹팩 설정에 중복된 sentry 속성 삭제 * feat: Brotli 압축 적용 - Brotli를 지원하지 않는 브라우저를 대비 해, 원본 파일을 삭제하지 않도록 함 * feat: 파비콘도 Brotli로 압축 * fix: Brotli threshold 수정 * [BE] fix: `Internal server error` 오타 수정 (#648) * design: 체크 선택 시, AlertModal 내 버튼 색상을 primary 색상으로 변경 (#678) * [BE] infra: 어플리케이션 도커로 배포 (#673) * infra: 어플리케이션 도커로 배포 Co-authored-by: Kimprodp <145949635+kimprodp@users.noreply.github.com> * infra: APPLICATION_DIRECTORY 경로 수정 * infra: 오타 수정 --------- Co-authored-by: Kimprodp <145949635+kimprodp@users.noreply.github.com> Co-authored-by: KIMGYUTAE <kiimwf0819@gmail.com> * [BE] fix: CD 스크립트 수정 (#688) * [BE] chore: remove swagger-related files (#686) * [BE] fix: remove unintended character in configuration file (#689) * infra: matrix 설정을 통해 다중 runner 적용 (#694) * infra: prod cd 스크립트를 도커 활용하도록 변경 (#696) * [BE] infra: 운영 환경 DB에 Replication 적용 (#687) * feat: replication을 위한 config 추가 * refactor: read, write 요청 분리를 위한 readOnly 적용 * refactor: profile 적용 * style: 개행 추가 * refactor: readOnly 변수명 변경 * refactor: dataSourceType enum 적용 및 상수화 * chore: osiv 해제 * infra: 테스트 환경에서 flyway 적용하지 않도록 변경 * [BE] feat: 세션을 활용해 리뷰 조회 (#666) * feat: 뼈대 코드 추가, deprecation 어노테이션 추가 * feat: 세션을 활용하도록 기반 코드 작성 * feat: 세션쿠키 필터 추가 * feat: 가짜 세션 Mockmvc에 주입 * refactor: 세션을 적용하도록 API 수정 및 API 문서 적용 * style: 개행 * docs: 사용되지 않는 문서 부분 삭제 * fix: 쿠키 전달을 위한 `allowCredentials` 설정 * refactor: v2로 변경 및 테스트 수정 * refactor: 사용하지 않는 메서드/테스트 제거 * chore: 쿠키 명시적으로 설정, 보안 설정 * test: CORS 테스트 작성 * chore: remove unused files * refactor: 주소 외부에서 관리 * refactor: 메시지 수정 * chore: 예외 주석 수정 * [BE] infra: flyway를 통한 인덱스 적용 (#690) * infra: 리뷰, 리뷰 그룹 테이블에 인덱스 추가 * infra: 테스트 환경에서 flyway 적용하지 않도록 변경 * infra: 변경 사항 설명을 위한 링크 주석 추가 * infra: 주석 기호 오류 수정 * [FE] fix: threshold 오타 수정 (#685) * ci: brotli-webpack-plugin 설치 * fix: 웹팩 설정에 중복된 sentry 속성 삭제 * feat: Brotli 압축 적용 - Brotli를 지원하지 않는 브라우저를 대비 해, 원본 파일을 삭제하지 않도록 함 * feat: 파비콘도 Brotli로 압축 * fix: Brotli threshold 수정 * fix: threshold 오타 수정 * [FE] feat: 프로그레스 바 반응형으로 구현 (#642) * design: medium 이상의 프로그레스 바를 container로 감싸서 화면 중앙 정렬 * feat: 모바일 프로그레스 바 컴포넌트 작성 * feat: 작성 폼 카드를 이동할 때마다 모바일 프로그레스 바도 함께 이동하도록 구현 * feat: 리뷰 작성 페이지의 해상도에 따라 다른 프로그레스 바를 보여주도록 구현 * design: 모바일에서 아직 완료되지 않고, 현재 위치가 아닌 stepButton에 border 설정 * fix: 스크롤이 작동하지 않는 문제 수정 * chore: alt 속성 한국어로 작성 * refactor: 자동 스크롤 로직에 requestAnimationFrame 적용 * chore: map으로 반복되는 요소의 최상단에 key prop 설정 * fix: 중복되는 UI 제거 * fix: 모바일 환경에서 프로그레스 바가 넘어가지 않는 문제 수정 * fix: 카드 이동 시 프로그레스 바 애니메이션과 충돌하는 문제 완화 * chore: 꾸미는 용도의 이미지에서 alt 속성 제거 * design: 불필요한 margin 제거 * chore: 프로그레스 바 연결선 변경 * design: stepButton min-width, max-width 수정 * [FE] refactor: 비밀번호 확인, 리뷰 목록 및 리뷰 상세 정보 요청 API 변경에 따른 리팩토링 (#695) * refactor: 리뷰 목록 페이지 및 상세 리뷰 페이지 url에 reviewRequestCode 추가 * refactor: 비밀번호 검증, 리뷰 목록 요청, 상세 리뷰 요청 API 변경에 따른 api 호출 함수 및 리액트 쿼리 훅 변경 * refactor: 비밀번호 검증, 리뷰 목록 요청, 상세 리뷰 요청 API 변경에 따른 리액트 쿼리 훅 테스트 변경 * refactor: 비밀번호 검증, 리뷰 목록 요청, 상세 리뷰 요청 API 변경에 따른 mocking handler 변경 * refactor: 리뷰 목록, 상세 리뷰 페이지 URL 변경에 따른 breadCrumb Path 수정 * refactor: ErrorSuspenseContainer가 fallback을 optional 매개변수로 받을 수 있게 변경 및 네비게이션 함수의 이름을 보다 일반적으로 수정 * feat: 리뷰 목록, 리뷰 상세 페이지를 위한 AuthAndServerErrorFallback 및 section 작성 * refactor: 리뷰 목록, 상세 리뷰 페이지에 새 ErrorSuspenseContainer와 API 호출 함수 반영 * refactor: ErrorSuspenseContainer의 기본 인자로 기본 fallback 할당 * chore: 불필요한 훅과 atom 삭제 * chore: LoginRedirectModal 삭제 * chore: 삭제 파일에서 누락된 파일 삭제 * test: 간헐적으로 실패하는 테스트의 expect 함수를 waitFor 내부로 이동 * [FE] feat : 목 서버에서 세션 쿠키 사용하는 추가 및 확인하는 기능 추가 (#698) * refactor: 리뷰 목록 페이지 및 상세 리뷰 페이지 url에 reviewRequestCode 추가 * refactor: 비밀번호 검증, 리뷰 목록 요청, 상세 리뷰 요청 API 변경에 따른 api 호출 함수 및 리액트 쿼리 훅 변경 * refactor: 비밀번호 검증, 리뷰 목록 요청, 상세 리뷰 요청 API 변경에 따른 리액트 쿼리 훅 테스트 변경 * refactor: 비밀번호 검증, 리뷰 목록 요청, 상세 리뷰 요청 API 변경에 따른 mocking handler 변경 * refactor: 리뷰 목록, 상세 리뷰 페이지 URL 변경에 따른 breadCrumb Path 수정 * refactor: ErrorSuspenseContainer가 fallback을 optional 매개변수로 받을 수 있게 변경 및 네비게이션 함수의 이름을 보다 일반적으로 수정 * feat: 리뷰 목록, 리뷰 상세 페이지를 위한 AuthAndServerErrorFallback 및 section 작성 * refactor: 리뷰 목록, 상세 리뷰 페이지에 새 ErrorSuspenseContainer와 API 호출 함수 반영 * refactor: ErrorSuspenseContainer의 기본 인자로 기본 fallback 할당 * chore: 불필요한 훅과 atom 삭제 * chore: LoginRedirectModal 삭제 * chore: 삭제 파일에서 누락된 파일 삭제 * test: 간헐적으로 실패하는 테스트의 expect 함수를 waitFor 내부로 이동 * feat: 비밀번호 조회 목 핸들러에 mockAuthToken 생성하는 기능 추가 * feat: 목록, 상세 페이지 목 핸들러에 쿠키 확인하는 기능 추가 * fix: 리뷰 목록 목 데이터에서 reviewId 중복 수정 * fix: 목 핸들러에서 쿠키 없을 때 response status 변경 * fix: 리뷰 목록/상세 페이지 테스트에 쿠키 설정 추가해 테스트 오류 수정 * refactor: useGetDetailedReview에서 불필요한 코드 삭제 * refactor: review 목 핸들러 if문 코드 개선 --------- Co-authored-by: ImxYJL <allensain14@gmail.com> * refactor: 서술형, 객관식 질문의 빈값 검증 수정 * style: 괄호 위치 및 개행 수정 * refactor: 리뷰의 답변 매핑 시, 필수가 아닌 질문 중 작성되지 않은 질문을 매핑하지 않도록 변경 * refactor: 사용하지 않는 상수 제거 * test: 필수가 아닌 질문이 답변되지 않을 경우 매핑 로직에 대한 테스트 작성 * refactor: 서술형, 객관식 질문의 빈값 검증 수정 * style: 괄호 위치 및 개행 수정 --------- Co-authored-by: ImxYJL <111052302+ImxYJL@users.noreply.github.com> Co-authored-by: badahertz52 <badahertz52@gmail.com> Co-authored-by: Donghoon Lee <aru0504@naver.com> Co-authored-by: sooyeon <lllllh00@naver.com> Co-authored-by: Hyeonji <110809927+skylar1220@users.noreply.github.com> Co-authored-by: Fe <64690761+chysis@users.noreply.github.com> Co-authored-by: ImxYJL <allensain14@gmail.com> Co-authored-by: hyeonjilee <skylar12200@gmail.com>
🚀 어떤 기능을 구현했나요 ?
반응형 페이지 구현
font-size
,flex-direction
,margin
,padding
등을 조절했습니다.반응형 Topbar, Footer
flex-direction: column
으로 정렬했습니다.ContentModal과 AlertModal의 일부 스타일 수정
(minWIdth
) 수정했습니다. HomePage에서도 사용하고 있어서 확인차 다시 명시합니다~(24.9.19 new!) ContentModal에 style prop을 열고 비밀번호 모달에 다음과 같이 스타일을 적용했습니다.
(24.9.19 new!) 새롭게 개편된 media 유틸을 적용했습니다.
🔥 어떻게 해결했나요 ?
media 유틸과 일반 미디어 쿼리를 혼합해서 사용했습니다.기본적으로는 media 유틸에서 theme을 사용할 때의 타입 문제 때문에 혼합 방식으로 구현했습니다.theme 사용이 없는데도 일반 미디어 쿼리를 사용한 부분이 있는데, 아래와 같은 문제를 겪었기 때문입니다.예를 들어 위처럼 ~ small, medium, large ~ 범위로 값을 적용하고 싶을 때, medium이 small 범위의 값을 전부 덮어서 80% 이상의 너비가 적용되지 않습니다. (large는 둘과 달리 max-width 기준이 아닌 min-width라 정상적으로 적용됨)그래서 현재 위처럼 and 연산을 통해 구체적인 범위를 지정해줘야 하는 경우는 아래처럼 px로 사이즈를 명시했습니다.=> 다른 방법이 없다면 media의 범위 서술을 더 구체적으로 하는 것을 제안합니다.📝 어떤 부분에 집중해서 리뷰해야 할까요?
기본적으로 사용자가 볼 수 있는 최소한의 너비는 320 정도라고 생각하고 작업했습니다. (아이폰 3~5 정도가 320이고 mini 라인도 370은 넘더라구요)
~~경계값을 어떻게 적용해야 하는지가 헷갈렸습니다. 768px부터 태블릿 세로 사이즈라면, 이전 사이즈는 ~767까지 잡는 거겠지요…? (
max-width: 767px
)~~리뷰 작성일 처리 관련
: 리뷰 상세 페이지에서 작성일을 명시하며 시계 아이콘을 쓰고 있는데, 화면이 작아졌을 때 이것들을 보여주는 데 한계가 있어 모바일에서는 그냥 날짜만 표기하는 방식으로 구현했습니다.
예전에 논의하던 방식(리뷰 기간이 존재하고 리뷰이가 스스로 마감할 수 있음)에서는 리뷰 작성일이 갖는 의미가 있었는데 지금은 사실상 무기한 작성 가능이라 받은 리뷰에 날짜가 있을 때 자연스럽게 리뷰 작성일임을 떠올릴 수 있을 거라고 생각했습니다.
이 정보를 살려야 한다면 화면이 작아졌을 때 리뷰 작성일-작성일자를 다시 column 스타일로 보여줄 수 있을 것 같습니다. 이에 대한 의견이 궁금합니다~
📚 참고 자료, 할 말
처음에 구현할 때 %를 적극적으로 사용해야 반응형 도입할 때 편하다! 고정 width는 필요할 때만 사용하자!