Skip to content

πŸš€ [κΈ°λŠ₯κ°œμ„ ][UX] λ‘œκ·Έμ•„μ›ƒ λ²„νŠΌ 클릭 μ‹œ 확인 Alert μΆ”κ°€Β #16

@Chuseok22

Description

@Chuseok22

πŸ“ ν˜„μž¬ 문제점

  • ν˜„μž¬ λ‘œκ·Έμ•„μ›ƒ λ²„νŠΌ 클릭 μ‹œ λ³„λ„μ˜ 확인 κ³Όμ • 없이 μ¦‰μ‹œ λ‘œκ·Έμ•„μ›ƒλ©λ‹ˆλ‹€.
  • μ‹€μˆ˜ 클릭(μ˜€λ™μž‘)으둜 μΈν•œ 예기치 μ•Šμ€ λ‘œκ·Έμ•„μ›ƒ λ°œμƒ κ°€λŠ₯성이 있으며, μ‚¬μš©μž κ²½ν—˜(UX)이 μ €ν•˜λ©λ‹ˆλ‹€.
  • μ ‘κ·Όμ„± μΈ‘λ©΄μ—μ„œλ„ μ€‘μš”ν•œ 파괴적 μ•‘μ…˜μ— λŒ€ν•œ λͺ…μ‹œμ  확인 단계가 ν•„μš”ν•©λ‹ˆλ‹€.

πŸ› οΈ ν•΄κ²° λ°©μ•ˆ / μ œμ•ˆ κΈ°λŠ₯

  • shadcn/ui의 AlertDialog μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‚¬μš©ν•΄ β€œλ‘œκ·Έμ•„μ›ƒ ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?” 확인 λͺ¨λ‹¬μ„ ν‘œμ‹œν•©λ‹ˆλ‹€.

  • 문ꡬ(ν•œκΈ€ν™”):

    • Title: λ‘œκ·Έμ•„μ›ƒ ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?
    • Description(선택): λ‘œκ·Έμ•„μ›ƒ μ‹œ ν˜„μž¬ μ„Έμ…˜μ΄ μ’…λ£Œλ©λ‹ˆλ‹€.
    • Cancel λ²„νŠΌ: μ·¨μ†Œ
    • Action λ²„νŠΌ: λ‘œκ·Έμ•„μ›ƒ (destructive μŠ€νƒ€μΌ ꢌμž₯)
  • λ™μž‘:

    • AlertDialogTriggerλ₯Ό κΈ°μ‘΄ λ‘œκ·Έμ•„μ›ƒ λ²„νŠΌμ— κ°μ‹Έμ„œ 트리거둜 μ‚¬μš©
    • AlertDialogAction 클릭 μ‹œ κΈ°μ‘΄ λ‘œκ·Έμ•„μ›ƒ 둜직(예: logout() λ˜λŠ” signOut() 호좜) μ‹€ν–‰
    • AlertDialogCancel 클릭 λ˜λŠ” Esc/μ˜€λ²„λ ˆμ΄ 클릭 μ‹œ λͺ¨λ‹¬ λ‹«νž˜
  • μ ‘κ·Όμ„±/UX:

    • 포컀슀 트랩, 첫 μš”μ†Œ μžλ™ 포컀싱 확인
    • ν‚€λ³΄λ“œ μ‘°μž‘(Enter/Space/ESC) 정상 λ™μž‘ 검증
  • μž¬μ‚¬μš©/고도화 μ œμ•ˆ:

    • 동일 νŒ¨ν„΄μ˜ 파괴적 μ•‘μ…˜μ— μž¬ν™œμš© κ°€λŠ₯ν•˜λ„λ‘ ConfirmDialog 래퍼 λ˜λŠ” ν›…(useConfirmDialog)으둜 μΌλ°˜ν™”

πŸ™‹β€β™‚οΈ λ‹΄λ‹Ήμž

  • λ°±μ—”λ“œ: 이름
  • ν”„λ‘ νŠΈμ—”λ“œ: @Chuseok22
  • λ””μžμΈ: 이름

Metadata

Metadata

Assignees

Labels

μž‘μ—… μ™„λ£Œμž‘μ—… μ™„λ£Œ μƒνƒœμΈ 경우 (이슈 폐쇄)

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions