Skip to content

[FIX] 모달 스택 z-index가 닫을 때 반납되지 않는 문제 #320

Description

@jjangminii

어떤 버그인가요?

모달 스택 z-index를 계산하는 acquireModalStackIndex가 모달이 닫힐 때 번호를 반납하지 않습니다. 그래서 "지금 몇 겹 중첩됐는지"가 아니라 "세션 동안 모달이 누적으로 몇 번 열렸는지"가 z-index 계산에 쓰입니다.



어떤 상황에서 발생한 버그인가요?

  • Given: Modal 또는 OverlayModal을 쓰는 화면에서 모달을 열고 닫기를 반복한다(중첩 없이 단순 재오픈 포함).
  • When: 모달을 열 때마다 acquireModalStackIndex()가 호출되지만, 닫히거나 언마운트될 때 이 값을 반납하는 코드가 어디에도 없다.
  • Then: nextModalStackIndex가 계속 증가해서, 전혀 중첩되지 않은 단일 모달도 세션이 길어질수록 더 큰 stackIndex를 받고, 그만큼 panelZIndex(50 + stackIndex * 20)가 불필요하게 커진다.



예상 결과

stackIndex는 현재 동시에 열려 있는 모달의 중첩 깊이만 반영해야 합니다. 모달이 닫히면 그 번호를 반납해서, 중첩되지 않은 모달은 항상 기준값(stackIndex 0, panelZIndex 50)에 가깝게 유지돼야 합니다.



참고자료

  • packages/timo-design-system/src/lib/modal-stack-registry.ts — acquireModalStackIndex만 있고 release 함수가 없습니다.
  • 호출부: apps/timo-web/components/modal/OverlayModal.tsx, packages/timo-design-system/src/components/layout/modal/Modal.tsx
  • 제안: releaseModalStackIndex()를 추가하고, OverlayModal의 닫힘 effect cleanup과 Modal의 close()에서 호출합니다.
  • 참고: OverlayModal.tsx의 feedback prop(모달 패널 위에 토스트를 띄우는 슬롯)은 이 버그와 별개 목적이라 이 수정과 함께 없앨 대상이 아닙니다.

Activity

  1. self-assigned this
    on Oct 7, 2026
  2. added
    🐛 Bug기능이 정상적으로 작동하지 않는 문제 수정
    and removed
    🐛 Bug기능이 정상적으로 작동하지 않는 문제 수정
    on Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

⏰ Timo-webTimo 웹 서비스♠️ 정민정민양🐛 Bug기능이 정상적으로 작동하지 않는 문제 수정

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions