File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
import type { OrgStatus } from '../api/client'
import StatusChip from '../ui/StatusChip'
import type { GlyphKind } from '../ui/StatusGlyph'
export const STATUS_LABELS: Record<OrgStatus, string> = {
INFO_PENDING: '정보 대기',
READY: '생성 가능',
PARTIAL: '부분 생성',
ACTIVE: '운영 중',
}
/** 접힌 목록 등 뱃지를 놓을 자리가 없을 때 쓰는 상태 점 색 */
export const STATUS_DOT: Record<OrgStatus, string> = {
INFO_PENDING: 'bg-gray-300',
READY: 'bg-blue-500',
PARTIAL: 'bg-amber-500',
ACTIVE: 'bg-emerald-500',
}
/**
* 채널 준비 상태는 네 단계가 순서대로 이어진다. 그래서 색뿐 아니라 모양도 그 순서를 담는다.
* 빈 사각(담당자 없음) → 절반(생성 가능) → 삼각(한쪽만 생성돼 손봐야 함) → 채운 사각(운영 중).
*/
const TONE: Record<OrgStatus, string> = {
INFO_PENDING: 'gray',
READY: 'blue',
PARTIAL: 'amber',
ACTIVE: 'emerald',
}
const GLYPH: Record<OrgStatus, GlyphKind> = {
INFO_PENDING: 'idle',
READY: 'progress',
PARTIAL: 'caution',
ACTIVE: 'done',
}
export default function StatusBadge({ status }: { status: OrgStatus }) {
return <StatusChip label={STATUS_LABELS[status]} tone={TONE[status]} glyph={GLYPH[status]} />
}