// 상점 소모품 아이템 (백엔드 ItemKind enum — JSON 은 문자열로 직렬화) export type ItemKind = 'ChatBanLift' | 'PostReset' | 'NotePass' | 'ExpBooster' | 'ProfileImageChange' | 'TaglineChange' | 'NicknameChange'; export interface MemberItemRow { id: number; productID: number; productName: string; thumbnail: string|null; kind: ItemKind; durationDays: number; acquiredAt: string; usedAt: string|null; } export interface MemberItemsResponse { total: number; list: MemberItemRow[]; } export interface UseItemResult { kind: ItemKind; message: string; } export const ITEM_KIND_LABEL: Record = { ChatBanLift: '채팅 밴 해제권', PostReset: '예전 글 초기화권', NotePass: '쪽지권', ExpBooster: '경험치 2배 모래시계', ProfileImageChange: '프로필 이미지 변경권', TaglineChange: '오늘의 한마디 변경권', NicknameChange: '닉네임 변경권' }; export const ITEM_KIND_DESC: Record = { ChatBanLift: '현재 적용 중인 채팅 제재를 즉시 해제합니다.', PostReset: '신고·댓글이 없는 예전 게시글을 일괄 삭제합니다.', NotePass: '쪽지 보내기에서 일일 한도를 넘겨 보내거나 무작위 회원에게 보낼 때 자동으로 사용됩니다.', ExpBooster: '사용 후 기간 동안 획득 경험치가 2배가 됩니다.', ProfileImageChange: '변경 주기 제한 없이 프로필 이미지를 즉시 변경할 때 자동으로 사용됩니다.', TaglineChange: '변경 주기 제한 없이 오늘의 한마디를 즉시 변경할 때 자동으로 사용됩니다.', NicknameChange: '변경 주기 제한 없이 닉네임을 즉시 변경할 때 자동으로 사용됩니다.' }; // 보관함에서 직접 "사용하기" 가능한 종류 (나머지는 해당 기능 이용 시 자동 소모) export const DIRECT_USE_KINDS: ItemKind[] = ['ChatBanLift', 'PostReset', 'ExpBooster'];