notifications vs alert_presets·alert_queue).| # | 영역 | 필드 | 타입 | 옵션 값 / 제약사항 | 입력 예시 |
|---|---|---|---|---|---|
| ① 알림 센터 | |||||
| — | 공통 상태 ⑬ 의 해소 알림 v2.46 | 시스템 | notifications | 「승인됨 · 반영 확인 중」(states ⑬)이 끝나는 경로가 여기다. 도너가 화면을 떠나도 결과를 받아야 하므로 알림이 유일한 통지 수단이다.type = system_notice 로 시작한다 — 인라인 수락·거절이 없어 ref_type 이 필요 없다. 전용 값이 필요해지면 ALTER TYPE … ADD VALUE(§14.0 ⑩ 값 추가만 허용) | 충전 반영됨 / 결제 취소됨 |
| 1 | 헤더 | 미읽음 배지 / 모두 읽음 | badge + button | COUNT(notifications WHERE read_at IS NULL). 99 초과는 “99+”. 전역 헤더의 🔔에 동일 배지 표시 | 7 |
| 2 | 탭 | 분류 필터 | tab × 5 | 전체 / 처리 필요 / 후원 / 정산 / 시스템. “처리 필요”는 수락·승인 대기 또는 반려 미확인 건만 — 놓치면 손해가 발생하는 알림을 분리 | "처리 필요" |
| 3 | 액션형 알림 | 인라인 수락 / 거절 | button × 2 | 배틀·1:1 채팅은 목록에서 바로 처리(상세 화면 이동 없이). v2.31 — 수락 후 이동 경로 확정: 배틀 수락 → 리모컨의 배틀 진행 패널(오버레이 URL을 즉시 복사해 OBS에 붙여야 하므로), 1:1 채팅 수락 → 해당 세션 화면이며 진행중 세션 목록에도 행이 추가된다. 기존에는 수락 후 어디로 가는지가 정의돼 있지 않았다. 만료 카운트다운을 함께 표시 — battle_sessions.expires_at(v2.28 신설) 기준 | "수락" |
| 4 | 정보형 알림 | 결과 통지 | link | 정산 반려는 revenue_registrations.reject_reason을 본문에 그대로 노출해 재제출까지 클릭 1회로 이어지게 함 | "정산 등록으로" |
| — | 스키마 | notifications | table | notifications(id, account_id, type, ref_type, ref_id, title, body, action_required boolean, read_at, expires_at, created_at) — v2.28 신설. ref_type/ref_id로 배틀·채팅 신청·소속사·정산 레코드를 가리켜 인라인 액션을 처리 | — |
| ② 수신 설정 | |||||
| 5 | 채널 | 앱 내 / 이메일 / 푸시 | toggle 3열 | 앱 내 알림은 끌 수 없음(항상 ON, 회색 고정) — 정산 반려처럼 놓치면 손해가 나는 통지가 있어서. 이메일·푸시만 선택 가능 | 앱 ON / 메일 OFF / 푸시 ON |
| 6 | 유형별 | 6종 수신 설정 | toggle × 18 | 배틀 / 1:1 채팅 / 소속사 / 정산 / 후원 요약 / 공지. 후원은 건별이 아니라 일 1회 요약(건별로 보내면 활동이 많은 크리에이터에게 알림 폭탄이 됨) · notification_preferences(account_id, type, in_app, email, push) | — |