Skip to content

[fix] 모바일 환경 입력창과 키보드 간의 간격이 큰 문제 수정#223

Merged
ff1451 merged 4 commits intodevelopfrom
222-fix-모바일-환경-입력창과-키보드-간의-간격이-큰-문제-수정
Mar 27, 2026

Hidden character warning

The head ref may contain hidden characters: "222-fix-\ubaa8\ubc14\uc77c-\ud658\uacbd-\uc785\ub825\ucc3d\uacfc-\ud0a4\ubcf4\ub4dc-\uac04\uc758-\uac04\uaca9\uc774-\ud070-\ubb38\uc81c-\uc218\uc815"
Merged

[fix] 모바일 환경 입력창과 키보드 간의 간격이 큰 문제 수정#223
ff1451 merged 4 commits intodevelopfrom
222-fix-모바일-환경-입력창과-키보드-간의-간격이-큰-문제-수정

Conversation

@ff1451
Copy link
Copy Markdown
Collaborator

@ff1451 ff1451 commented Mar 27, 2026

✨ 요약

- 채팅방 입력 영역의 기본 하단 패딩을 22px에서 12px로 조정했습니다.
- VisualViewport와 입력 포커스 상태를 함께 사용해 가상 키보드 활성화 여부를 판단하도록 변경했습니다.
- 키보드가 열려 있을 때는 채팅 입력 영역의 safe area 하단 패딩을 제거해, 키보드와 입력창 사이 간격이 과하게 벌어지지 않도록 수정했습니다.
- 키보드가 닫히면 기존 safe area 패딩이 다시 적용되도록 처리했습니다.



😎 해결한 이슈

Summary by CodeRabbit

릴리스 노트

  • 스타일 개선
    • 모바일에서 채팅 입력 필드의 하단 패딩과 위치 처리를 더 정확하게 조정합니다.
    • 화면 하단 안전 영역 값을 새로 관리해 키보드 노출 시 입력 필드 간격을 안정적으로 유지합니다.
  • 버그 수정
    • 입력 요소 포커스 상태와 뷰포트 변화를 더 정확히 감지해 키보드 높이 판단 오류를 줄였습니다.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 182aef9c-b40e-45e5-a950-9a7e7a37d817

📥 Commits

Reviewing files that changed from the base of the PR and between 9a6719a and 0cfbc4b.

📒 Files selected for processing (1)
  • src/utils/ts/viewport.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/utils/ts/viewport.ts

Walkthrough

루트에 CSS 커스텀 속성 --effective-bottom-safe-area: var(--sab)를 추가했습니다. 채팅 입력 폼의 하단 패딩을 pb-[calc(22px+var(--sab))]에서 pb-[calc(12px+var(--effective-bottom-safe-area))]로 변경했습니다. viewport 유틸은 에디터블 포커스 상태와 휴식(resting) 뷰포트 치수를 추적하도록 확장되었고, 키보드 높이를 계산해 키보드 열림 여부를 결정하며 키보드가 열리면 --effective-bottom-safe-area0px로, 아니면 var(--sab)로 설정합니다.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목이 변경사항의 핵심을 명확하게 설명하고 있습니다. 모바일 환경에서 입력창과 키보드 간 간격 문제 수정이라는 주요 목표를 정확히 반영합니다.
Linked Issues check ✅ Passed 코드 변경사항이 #222의 모든 주요 요구사항을 충족합니다: 하단 패딩 값 조정(22px→12px), viewport 기반 동적 safe area 계산, 키보드 활성화 상태 감지 로직 구현.
Out of Scope Changes check ✅ Passed 모든 변경사항이 모바일 입력창-키보드 간격 문제 해결을 위한 범위 내의 수정입니다. CSS 변수 추가, 채팅 입력 패딩 업데이트, viewport 동적 계산 로직이 일관성 있게 관련되어 있습니다.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 222-fix-모바일-환경-입력창과-키보드-간의-간격이-큰-문제-수정

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

모바일에서 가상 키보드가 열릴 때 채팅 입력창 하단 여백이 과도하게 커지는 문제(#222)를 해결하기 위해, safe-area 하단 패딩을 키보드 상태에 따라 동적으로 적용하도록 조정하는 PR입니다.

Changes:

  • 채팅 입력 영역의 기본 하단 패딩을 22px12px로 조정
  • visualViewport + 입력 포커스 상태 기반으로 키보드 열림을 추정해 --effective-bottom-safe-area를 동적으로 0px/var(--sab)로 설정
  • 전역 CSS에 --effective-bottom-safe-area 기본값 추가 및 ChatRoom에서 해당 변수 사용

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
src/utils/ts/viewport.ts 키보드 추정 로직 추가 및 --effective-bottom-safe-area를 상황에 따라 0으로 설정
src/pages/Chat/ChatRoom.tsx 입력 폼 하단 패딩 계산식을 --effective-bottom-safe-area 기반으로 변경하고 기본 패딩 축소
src/index.css --effective-bottom-safe-area CSS 변수 기본값을 var(--sab)로 추가

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/utils/ts/viewport.ts Outdated
Comment on lines +18 to +26
if (!isEditableFocused) {
restingViewportHeight = h;
} else if (!restingViewportHeight) {
restingViewportHeight = h;
}

const keyboardHeight = Math.max(0, restingViewportHeight - h);
const isKeyboardOpen = isEditableFocused && keyboardHeight > 120;

Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

restingViewportHeight is used as the baseline to infer keyboard visibility, but it isn't reset when an orientation change happens while an input remains focused. In that case the baseline can be from the previous orientation, making keyboardHeight large and forcing --effective-bottom-safe-area to 0px even if the keyboard is closed. Consider resetting restingViewportHeight on orientationchange/pageshow (or whenever viewport dimensions change drastically) before computing keyboardHeight so the baseline matches the current orientation.

Copilot uses AI. Check for mistakes.
Comment thread src/utils/ts/viewport.ts
Comment on lines +24 to +26
const keyboardHeight = Math.max(0, restingViewportHeight - h);
const isKeyboardOpen = isEditableFocused && keyboardHeight > 120;

Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

keyboardHeight > 120 is a hard-coded threshold that will be hard to tune/understand later (and may behave differently across devices). Please extract this into a named constant (and ideally add a brief comment about why this value was chosen) so future adjustments are localized and intention-revealing.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
src/utils/ts/viewport.ts (2)

24-25: 매직 넘버 상수화 권장.

120의 의미(소형 autocomplete bar 등 오탐 방지 임계값)를 명확히 하면 가독성이 향상됩니다.

♻️ 리팩토링 제안
+const KEYBOARD_HEIGHT_THRESHOLD = 120;
+
 export function installViewportVars() {
   // ...
-    const isKeyboardOpen = isEditableFocused && keyboardHeight > 120;
+    const isKeyboardOpen = isEditableFocused && keyboardHeight > KEYBOARD_HEIGHT_THRESHOLD;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/utils/ts/viewport.ts` around lines 24 - 25, Replace the magic number 120
used to detect keyboard open state with a named constant to clarify its intent
and make it configurable; define a descriptive constant (e.g.,
KEYBOARD_OPEN_THRESHOLD = 120) near the top of the module and use it in the
isKeyboardOpen calculation (the code referencing restingViewportHeight, h,
keyboardHeight, and isEditableFocused) so the threshold’s purpose (small
autocomplete bar / debounce) is explicit and easy to adjust.

18-22: 조건문 간소화 가능.

두 조건의 동작이 동일하므로 하나로 합칠 수 있습니다.

♻️ 리팩토링 제안
-    if (!isEditableFocused) {
-      restingViewportHeight = h;
-    } else if (!restingViewportHeight) {
+    if (!isEditableFocused || !restingViewportHeight) {
       restingViewportHeight = h;
     }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/utils/ts/viewport.ts` around lines 18 - 22, The two branches that assign
restingViewportHeight are identical; replace the if/else with a single condition
that sets restingViewportHeight = h when either isEditableFocused is false or
restingViewportHeight is falsy. Update the block referencing
restingViewportHeight, isEditableFocused and h to use a single if
(!isEditableFocused || !restingViewportHeight) assignment to simplify the logic.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/utils/ts/viewport.ts`:
- Around line 24-25: Replace the magic number 120 used to detect keyboard open
state with a named constant to clarify its intent and make it configurable;
define a descriptive constant (e.g., KEYBOARD_OPEN_THRESHOLD = 120) near the top
of the module and use it in the isKeyboardOpen calculation (the code referencing
restingViewportHeight, h, keyboardHeight, and isEditableFocused) so the
threshold’s purpose (small autocomplete bar / debounce) is explicit and easy to
adjust.
- Around line 18-22: The two branches that assign restingViewportHeight are
identical; replace the if/else with a single condition that sets
restingViewportHeight = h when either isEditableFocused is false or
restingViewportHeight is falsy. Update the block referencing
restingViewportHeight, isEditableFocused and h to use a single if
(!isEditableFocused || !restingViewportHeight) assignment to simplify the logic.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8373410d-3ae1-4f56-818c-4e844c23d250

📥 Commits

Reviewing files that changed from the base of the PR and between 43c267c and 9a6719a.

📒 Files selected for processing (3)
  • src/index.css
  • src/pages/Chat/ChatRoom.tsx
  • src/utils/ts/viewport.ts

@ff1451 ff1451 merged commit 1c0393b into develop Mar 27, 2026
2 checks passed
ff1451 added a commit that referenced this pull request Apr 1, 2026
* 205 feat 이미지 전처리 기능 구현 (#206)

* feat: 전처리 로직 및 WebWorker 구현

* feat: 전처리 적용 및 preview 동시성 제어 로직 추가

* refactor: 리뷰 반영

* [hotfix] 하단바 너비 수정 (#208)

* hotfix: 하단바 너비 수정

* chore: 불필요한 값 제거

* refactor: 고정 gap 제거

* Reapply "[feat] 광고 배너 추가 (#200)"

This reverts commit c51ec85.

* [feat] 하단바 리디자인 (#213)

* chore: asset 추가

* feat: 하단바 리디자인 반영 및 레이아웃 수정

* [refactor] 광고 카드 레이아웃 밀림 수정 (#215)

* refactor: 광고 개수 측정 시기 변경 및 기본값 제거

* feat: 스켈레톤 UI 추가

* feat: 인앱 알림 페이지 및 토스트 구현 (#217)

* feat: 알림 API 및 스트림 기반 추가

* feat: 인앱 알림 레이어 추가

* feat: 알림 페이지 및 헤더 진입 구현

* fix: 알림 스트림 401 재시도 조건 정리

* fix: 알림 목록 이동 차단 제거

* refactor: 알림 공용 훅 위치 정리

* fix: 알림 재연결 캐시 동기화 추가

* fix: 알림 목록 토스트 큐 누적 방지

* fix: 알림 읽음 카운트 감소 조건 보강

* [refactor] 도메인별 TanStack Query 훅 정리 (#219)

* chore: pwa용 이미지 제거

* refactor: auth 도메인 쿼리와 뮤테이션 정리

* refactor: council과 schedule 조회 훅 정리

* refactor: chat과 notification 캐시 처리 정리

* refactor: club 조회와 지원 플로우 정리

* refactor: manager 도메인 캐시 처리 정리

* refactor: studyTime 도메인 쿼리와 뮤테이션 정리

* refactor: 광고와 업로드 도메인 훅 정리

* [refactor] mutaton query 및 hook 추가 수정 (#221)

* refactor: auth와 user myInfo 훅 정리

* refactor: club과 schedule 조회 훅 정리

* refactor: chat과 notification 훅 구조 정리

* refactor: club 지원 뮤테이션 훅 정리

* refactor: manager 뮤테이션 훅 구조 정리

* refactor: mutation 훅 cache 정리

* refactor: 컨벤션 통일

* refactor: isRead 조건 정리

* fix: 채팅 스크롤 문제 수정

* refactor: 불필요한 코드 제거

* [fix] 모바일 환경 입력창과 키보드 간의 간격이 큰 문제 수정 (#223)

* chore: 가공용 safeArea 변수 선언

* refactor: 고정 패딩 값 수정 및 safeArea 적용 변경

* feat: 키보드 활성화 감지 및 safeArea 적용 여부 기능 추가

* refactor: 매직넘버 상수화 및 가로모드 처리

* [fix] 키보드 활성화 시 화면 흔들림 문제 수정 (#225)

* refactor: 채팅 viewport 훅 네이밍 정리

* refactor: viewport 높이 잠금 훅 적용 시점 조정

* [fix] 키보드 활성화 시 채팅 화면 전체가 흔들리는 문제 수정 (#227)

* refactor: 채팅 viewport 훅 네이밍 정리

* refactor: viewport 높이 잠금 훅 적용 시점 조정

* fix: 채팅 화면 스크롤 잠금으로 키보드 흔들림 완화

* fix: 입력 포커스 중 viewport offset 고정 (#229)

* fix: 문서 루트 스크롤 잠금으로 빈 공간 잔류 방지 (#232)

* [fix] 키보드 활성화 시 채팅 화면 상단 고정이 깨지고 빈 공간이 남는 문제 수정 (#234)

* fix: 채팅 화면 상단 고정 깨짐과 빈 공간 잔류 수정

* refactor: 라우트 조건 수정

* fix: 문서 스크롤 위치 감지 보강

* refactor: 입력 요소 판별 유틸과 스크롤 주석 정리

* [fix] 키보드 활성화 시 채팅 화면에서 문서 스크롤이 발생하는 문제 수정 (#236)

* fix: 채팅 문서 스크롤 제스처 차단

* fix: 입력 요소 터치 동작 예외 처리

* [fix] 키보드 활성화 시 채팅방이 마지막 메시지 위치를 유지하지 못하는 문제 수정 (#238)

* fix: 키보드 활성화 시 채팅 하단 정렬 유지

* refactor: 채팅 리사이즈 관찰 안정화

* fix: mypage 연계 약관 페이지 뒤로가기 수정 (#240)

* refactor: alias import 경로 정리

* fix: query 설정과 suspense 분기 정리

* refactor: 관리자 화면 스타일 유틸 정리

* fix: 이미지 전처리 예외 처리 보강

* fix: 헤더와 회비 화면 동작 정리

* fix: 공통 유틸 안정성 개선

* fix: 이미지 전처리 실패 처리를 보정

* fix: 모집 공고 저장 후 설정 반영 순서 조정

* fix: 부원 직책 변경 실패 처리를 보강

* fix: 약관 링크 접근성을 개선

* fix: 공통 쿼리와 유틸 안정성을 보완

* [feat] 동적 버전 정보 표시 구현 (#211)

* feat: 동적 버전 정보 표시 구현

* refactor: 버전 정보 미 존재시 v 표시 제거

* [feat] 메인화면 동아리 카드 디자인 수정 반영 (#242)

* feat: 메인화면 동아리 카드 디자인 수정

* chore: 하단바 아이콘 수정

* refactor: 코드래빗 리뷰 반영

* refactor: and 연산자로 변경

* apiClient 코드 중복 제거 및 네이티브 브릿지 인증 동기화 중앙화 (#244)

* refactor: apiClient 코드 중복 제거 및 네이티브 브릿지 인증 동기화 중앙화

* refactor: body 직렬화 가드를 plain object/array로 한정

* fix: body 읽기 중 AbortError가 ParseError로 오분류되는 문제 수정

* [refactor] 에러 처리 유틸 및 utils 구조 정리 (#246)

* refactor: 에러 처리 유틸 및 공통 토스트 흐름 정리

* refactor: utils 폴더 구조를 역할별로 정리

* refactor: 코드래빗 리뷰 반영

* refactor: 코드래빗 리뷰 반영

* Update src/pages/Home/components/HomeClubSection.tsx

* fix: 인증 세션 복구 흐름 정리

* fix: 홈 동아리 카드 레이아웃 정리

* [feat] 총동아리 페이지 리디자인 및 하단 오버레이 정리 (#249)

* refactor: 하단 오버레이 처리 공통화

* feat: 총동아리 페이지와 헤더 리디자인 반영

* fix: 채팅 하단 여백과 외부 링크 속성 수정

* refactor: 총동아리 헤더 설정 정리

* fix: 총동아리 상세 접근성과 스타일 보완

* [feat] 마이페이지 관리자 카드 분리 및 채팅 미확인 배지 반영 (#251)

* feat: 하단 채팅 배지 표시 및 조회 조건 보완

* refactor: 관리자 정보 카드 컴포넌트 분리

* feat: 채팅 페이지 리디자인 (#252)

* feat: 채팅 페이지 리디자인

* fix:tailwind 문법 수정

* fix: 코드 수정

* fix: 폰트 색상 및 위치 수정

* fix: 채팅방 사람수 정렬

* fix: 오타 수정

* chore: conflict 해결 중 누락된 부분 수정

* [refactor] 광고 렌더링 조건 수정 (#254)

* refactor: 광고 렌더링 조건 수정

* docs: 문서명 변경

---------

Co-authored-by: 박성주 <145267904+ParkSungju01@users.noreply.github.com>
@ff1451 ff1451 deleted the 222-fix-모바일-환경-입력창과-키보드-간의-간격이-큰-문제-수정 branch April 7, 2026 09:32
ff1451 added a commit that referenced this pull request Apr 21, 2026
* [배포] 이미지 전처리, 광고 기능, 하단바 리디자인, 인앱 알림 페이지 및 토스트 프로덕션 배포 (#230)

* 205 feat 이미지 전처리 기능 구현 (#206)

* feat: 전처리 로직 및 WebWorker 구현

* feat: 전처리 적용 및 preview 동시성 제어 로직 추가

* refactor: 리뷰 반영

* [hotfix] 하단바 너비 수정 (#208)

* hotfix: 하단바 너비 수정

* chore: 불필요한 값 제거

* refactor: 고정 gap 제거

* Reapply "[feat] 광고 배너 추가 (#200)"

This reverts commit c51ec85.

* [feat] 하단바 리디자인 (#213)

* chore: asset 추가

* feat: 하단바 리디자인 반영 및 레이아웃 수정

* [refactor] 광고 카드 레이아웃 밀림 수정 (#215)

* refactor: 광고 개수 측정 시기 변경 및 기본값 제거

* feat: 스켈레톤 UI 추가

* feat: 인앱 알림 페이지 및 토스트 구현 (#217)

* feat: 알림 API 및 스트림 기반 추가

* feat: 인앱 알림 레이어 추가

* feat: 알림 페이지 및 헤더 진입 구현

* fix: 알림 스트림 401 재시도 조건 정리

* fix: 알림 목록 이동 차단 제거

* refactor: 알림 공용 훅 위치 정리

* fix: 알림 재연결 캐시 동기화 추가

* fix: 알림 목록 토스트 큐 누적 방지

* fix: 알림 읽음 카운트 감소 조건 보강

* [refactor] 도메인별 TanStack Query 훅 정리 (#219)

* chore: pwa용 이미지 제거

* refactor: auth 도메인 쿼리와 뮤테이션 정리

* refactor: council과 schedule 조회 훅 정리

* refactor: chat과 notification 캐시 처리 정리

* refactor: club 조회와 지원 플로우 정리

* refactor: manager 도메인 캐시 처리 정리

* refactor: studyTime 도메인 쿼리와 뮤테이션 정리

* refactor: 광고와 업로드 도메인 훅 정리

* [refactor] mutaton query 및 hook 추가 수정 (#221)

* refactor: auth와 user myInfo 훅 정리

* refactor: club과 schedule 조회 훅 정리

* refactor: chat과 notification 훅 구조 정리

* refactor: club 지원 뮤테이션 훅 정리

* refactor: manager 뮤테이션 훅 구조 정리

* refactor: mutation 훅 cache 정리

* refactor: 컨벤션 통일

* refactor: isRead 조건 정리

* fix: 채팅 스크롤 문제 수정

* refactor: 불필요한 코드 제거

* [fix] 모바일 환경 입력창과 키보드 간의 간격이 큰 문제 수정 (#223)

* chore: 가공용 safeArea 변수 선언

* refactor: 고정 패딩 값 수정 및 safeArea 적용 변경

* feat: 키보드 활성화 감지 및 safeArea 적용 여부 기능 추가

* refactor: 매직넘버 상수화 및 가로모드 처리

* [fix] 키보드 활성화 시 화면 흔들림 문제 수정 (#225)

* refactor: 채팅 viewport 훅 네이밍 정리

* refactor: viewport 높이 잠금 훅 적용 시점 조정

* [fix] 키보드 활성화 시 채팅 화면 전체가 흔들리는 문제 수정 (#227)

* refactor: 채팅 viewport 훅 네이밍 정리

* refactor: viewport 높이 잠금 훅 적용 시점 조정

* fix: 채팅 화면 스크롤 잠금으로 키보드 흔들림 완화

* fix: 입력 포커스 중 viewport offset 고정 (#229)

* fix: 문서 루트 스크롤 잠금으로 빈 공간 잔류 방지 (#232)

* [fix] 키보드 활성화 시 채팅 화면 상단 고정이 깨지고 빈 공간이 남는 문제 수정 (#234)

* fix: 채팅 화면 상단 고정 깨짐과 빈 공간 잔류 수정

* refactor: 라우트 조건 수정

* fix: 문서 스크롤 위치 감지 보강

* refactor: 입력 요소 판별 유틸과 스크롤 주석 정리

* [fix] 키보드 활성화 시 채팅 화면에서 문서 스크롤이 발생하는 문제 수정 (#236)

* fix: 채팅 문서 스크롤 제스처 차단

* fix: 입력 요소 터치 동작 예외 처리

* [fix] 키보드 활성화 시 채팅방이 마지막 메시지 위치를 유지하지 못하는 문제 수정 (#238)

* fix: 키보드 활성화 시 채팅 하단 정렬 유지

* refactor: 채팅 리사이즈 관찰 안정화

* fix: mypage 연계 약관 페이지 뒤로가기 수정 (#240)

* refactor: alias import 경로 정리

* fix: query 설정과 suspense 분기 정리

* refactor: 관리자 화면 스타일 유틸 정리

* fix: 이미지 전처리 예외 처리 보강

* fix: 헤더와 회비 화면 동작 정리

* fix: 공통 유틸 안정성 개선

* fix: 이미지 전처리 실패 처리를 보정

* fix: 모집 공고 저장 후 설정 반영 순서 조정

* fix: 부원 직책 변경 실패 처리를 보강

* fix: 약관 링크 접근성을 개선

* fix: 공통 쿼리와 유틸 안정성을 보완

* [feat] 동적 버전 정보 표시 구현 (#211)

* feat: 동적 버전 정보 표시 구현

* refactor: 버전 정보 미 존재시 v 표시 제거

* [feat] 메인화면 동아리 카드 디자인 수정 반영 (#242)

* feat: 메인화면 동아리 카드 디자인 수정

* chore: 하단바 아이콘 수정

* refactor: 코드래빗 리뷰 반영

* refactor: and 연산자로 변경

* apiClient 코드 중복 제거 및 네이티브 브릿지 인증 동기화 중앙화 (#244)

* refactor: apiClient 코드 중복 제거 및 네이티브 브릿지 인증 동기화 중앙화

* refactor: body 직렬화 가드를 plain object/array로 한정

* fix: body 읽기 중 AbortError가 ParseError로 오분류되는 문제 수정

* [refactor] 에러 처리 유틸 및 utils 구조 정리 (#246)

* refactor: 에러 처리 유틸 및 공통 토스트 흐름 정리

* refactor: utils 폴더 구조를 역할별로 정리

* refactor: 코드래빗 리뷰 반영

* refactor: 코드래빗 리뷰 반영

* Update src/pages/Home/components/HomeClubSection.tsx

* fix: 인증 세션 복구 흐름 정리

* fix: 홈 동아리 카드 레이아웃 정리

* [feat] 총동아리 페이지 리디자인 및 하단 오버레이 정리 (#249)

* refactor: 하단 오버레이 처리 공통화

* feat: 총동아리 페이지와 헤더 리디자인 반영

* fix: 채팅 하단 여백과 외부 링크 속성 수정

* refactor: 총동아리 헤더 설정 정리

* fix: 총동아리 상세 접근성과 스타일 보완

* [feat] 마이페이지 관리자 카드 분리 및 채팅 미확인 배지 반영 (#251)

* feat: 하단 채팅 배지 표시 및 조회 조건 보완

* refactor: 관리자 정보 카드 컴포넌트 분리

* feat: 채팅 페이지 리디자인 (#252)

* feat: 채팅 페이지 리디자인

* fix:tailwind 문법 수정

* fix: 코드 수정

* fix: 폰트 색상 및 위치 수정

* fix: 채팅방 사람수 정렬

* fix: 오타 수정

* chore: conflict 해결 중 누락된 부분 수정

* [refactor] 광고 렌더링 조건 수정 (#254)

* refactor: 광고 렌더링 조건 수정

* docs: 문서명 변경

---------

Co-authored-by: 박성주 <145267904+ParkSungju01@users.noreply.github.com>

* refactor: 가이드 페이지 이미지 변경 및 구조 개선 (#260)

* hotfix: 가이드 이미지 경로 변경

---------

Co-authored-by: 박성주 <145267904+ParkSungju01@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[fix] 모바일 환경 입력창과 키보드 간의 간격이 큰 문제 수정

2 participants