StateBadge - FE14-Part4-Team5/reser-on-do GitHub Wiki

StateBadge

μ˜ˆμ•½ μƒνƒœλ₯Ό μ‹œκ°μ μœΌλ‘œ ν‘œμ‹œν•˜λŠ” λ°°μ§€ μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€. μƒνƒœμ— 따라 배경색과 ν…μŠ€νŠΈ 색상이 λ‹€λ₯΄κ²Œ ν‘œμ‹œλ©λ‹ˆλ‹€.

βœ… Props

이름 νƒ€μž… ν•„μˆ˜ μ„€λͺ…
status string literal union type βœ… badge의 μƒνƒœ κ°’
label string βœ… μ‚¬μš©μžμ—κ²Œ 보여쀄 ν…μŠ€νŠΈ

🎨 μƒνƒœ 별 μŠ€νƒ€μΌ μ˜ˆμ‹œ

status label 배경색 ν…μŠ€νŠΈ 색상
pending μ˜ˆμ•½ μ™„λ£Œ #e9fbe4 #2ba90d
confirmed μ˜ˆμ•½ 승인 #ddf9f9 #1790a0
declined μ˜ˆμ•½ 거절 #fcecea #f96767
canceled μ˜ˆμ•½ μ·¨μ†Œ --gray-100 --gray-600
completed μ²΄ν—˜ μ™„λ£Œ #daf0ff #0d6cd1

βš™οΈ λ™μž‘ 방식

  • status 값을 기반으둜 λ‚΄λΆ€μ μœΌλ‘œ ν•΄λ‹Ή μƒνƒœμ— λ§žλŠ” CSS ν΄λž˜μŠ€κ°€ μ μš©λ©λ‹ˆλ‹€.
  • λ°°κ²½ μŠ€νƒ€μΌ(.bedge-common, .bedge-[status])κ³Ό ν…μŠ€νŠΈ μŠ€νƒ€μΌ(.label-common, [status])을 μ‘°ν•©ν•˜μ—¬ κ΅¬μ„±λ©λ‹ˆλ‹€.

πŸ–₯️ μ‚¬μš©μ˜ˆμ‹œ

<StateBadge status="pending" label="μ˜ˆμ•½ μ™„λ£Œ" />
<StateBadge status="confirmed" label="μ˜ˆμ•½ 승인" />
<StateBadge status="declined" label="μ˜ˆμ•½ 거절" />
<StateBadge status="canceled" label="μ˜ˆμ•½ μ·¨μ†Œ" />
<StateBadge status="completed" label="μ²΄ν—˜ μ™„λ£Œ" />

// μ‹€μ œλ‘œλŠ” statusμ—λŠ” data.status값이, labelμ—λŠ” λ§΅ν•‘ν•œ 값이 λ“€μ–΄κ°€μ•Ό ν•©λ‹ˆλ‹€.
const statusLabelMap: Record<ReservationStatus, string> = {
  pending: 'μ˜ˆμ•½ μ™„λ£Œ',
  confirmed: 'μ˜ˆμ•½ 승인',
  declined: 'μ˜ˆμ•½ 거절',
  canceled: 'μ˜ˆμ•½ μ·¨μ†Œ',
  completed: 'μ²΄ν—˜ μ™„λ£Œ',
};

<StateBadge status={data.status} label={statusLabelMap[data.status]} />