Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
c8afa2e
fix(photo-modal): 웹뷰 safe-area 미적용 및 100dvh 전환으로 풀스크린 헤더 잘림 수정
suhyun113 Jun 9, 2026
4e1fbd3
fix(photo-modal): ModalHeader를 flex child로 전환해 스크롤 시 헤더 사라짐 수정
suhyun113 Jun 9, 2026
38467a3
fix(modal): Overlay에 overflow hidden 추가로 모달 외부 스크롤 차단
suhyun113 Jun 9, 2026
fb8c8a1
fix(modal): WebView 스크롤 차단 및 모달 헤더 safe-area 위치 수정
suhyun113 Jun 10, 2026
3976521
fix(photo-modal): ModalHeader에서 safe-area 처리하도록 수정
suhyun113 Jun 14, 2026
8545615
fix(safe-area): 동아리 상세 지원하기 버튼 및 활동사진 모달 썸네일 하단 safe-area 대응
suhyun113 Jun 14, 2026
955dccf
revert(photo-modal): 이전 modal/photo-modal 수정 사항 롤백
suhyun113 Jun 14, 2026
4b9ac84
fix(photo-modal): 활동사진 모달 헤더 상단 safe-area 대응
suhyun113 Jun 14, 2026
3004a24
revert(index): viewport-fit=cover 제거
suhyun113 Jun 14, 2026
69c2ff7
fix(photo-modal): ModalContent에 position fixed inset 0 적용으로 모바일 헤더 위치 수정
suhyun113 Jun 14, 2026
e026b7d
fix(photo-modal): viewport-fit-cover 복구 및 배경 스크롤 차단
suhyun113 Jun 14, 2026
c3e0120
revert(modal): Overlay touch-action none 제거
suhyun113 Jun 14, 2026
7c81d49
revert(photo-modal): 활동사진 모달 헤더 상단 safe-area 대응 제거
suhyun113 Jun 14, 2026
4e6a987
fix(photo-modal): 모달 스크롤 문제 수정
suhyun113 Jun 14, 2026
2937669
feat(photo-modal): 활동사진 모달 헤더 X 버튼 SVG 아이콘 교체 및 레이아웃 개선
suhyun113 Jun 14, 2026
52c3c8b
revert(safe-area): 지원하기 버튼 및 활동사진 썸네일 하단 safe-area 대응 제거
suhyun113 Jun 15, 2026
4417240
style: Prettier 코드 포맷 정리
suhyun113 Jun 15, 2026
70f3d02
fix(photo-modal): 모달 헤더 상단 safe-area 대응 테스트
suhyun113 Jun 15, 2026
5ebf8d1
revert(index): viewport-fit=cover 제거
suhyun113 Jun 15, 2026
95436cd
fix(photo-modal): 모바일 웹 주소창 대응
suhyun113 Jun 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions frontend/src/components/common/Modal/Modal.styles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ export const Overlay = styled.div`
justify-content: center;
align-items: center;
transition: background-color 0.2s ease;
touch-action: none;
`;

export const ContentWrapper = styled.div`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,56 +16,63 @@ export const ModalContent = styled.div`

${media.mobile} {
width: 100vw;
height: 100vh;
height: 100dvh;
border-radius: 0;
}
`;

export const CloseButton = styled.button`
position: absolute;
right: 10px;
background: none;
justify-self: end;
background: transparent;
border: none;
font-size: 2.5rem;
cursor: pointer;
padding: 10px;
opacity: 0.7;
transition: opacity 0.2s;
z-index: 3;
padding: 10px 0 10px 10px;
display: flex;
align-items: center;
justify-content: center;

&:hover {
opacity: 1;
svg {
width: 20px;
height: 20px;
}
`;

export const ModalHeader = styled.div`
width: 100%;
height: 60px;
display: flex;
justify-content: space-between;
display: grid;
grid-template-columns: 1fr auto 1fr;
column-gap: 20px;
align-items: center;
padding: 0 32px;
padding: 0 20px;
position: absolute;
top: 0;
left: 0;
z-index: 10;
background: ${colors.base.white};
backdrop-filter: blur(10px);

${media.mobile} {
height: calc(60px + var(--rn-safe-top, 0px));
padding-top: var(--rn-safe-top, 0px);
}
`;

export const ClubName = styled.div`
font-size: 1.3rem;
font-weight: 600;
color: ${colors.base.black};
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
`;

export const ImageCounter = styled.div`
position: absolute;
left: 50%;
transform: translateX(-50%);
font-size: 0.95rem;
font-weight: 500;
color: ${colors.gray[700]};
text-align: center;
`;

export const ModalBody = styled.div`
Expand All @@ -89,6 +96,7 @@ export const ImageContainer = styled.div`

${media.mobile} {
padding: 0 16px;
margin-top: calc(60px + var(--rn-safe-top, 0px));
}
`;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import type { Swiper as SwiperType } from 'swiper';
import { Keyboard, Navigation } from 'swiper/modules';
import { Swiper, SwiperSlide } from 'swiper/react';
import 'swiper/css/navigation';
import CloseButtonIcon from '@/assets/images/icons/close_button_icon.svg?react';
import NextButton from '@/assets/images/icons/next_button_icon.svg';
import PrevButton from '@/assets/images/icons/prev_button_icon.svg';
import Modal from '@/components/common/Modal/Modal';
Expand Down Expand Up @@ -47,7 +48,7 @@ const PhotoModal = ({ isOpen, onClose, clubName, photos }: PhotoModalProps) => {
{currentIndex + 1} / {urls.length}
</Styled.ImageCounter>
<Styled.CloseButton onClick={onClose} aria-label='닫기'>
×
<CloseButtonIcon />
</Styled.CloseButton>
</Styled.ModalHeader>
<Styled.ModalBody>
Expand Down
Loading