Skip to content

feat(admin): 마그넷 접속 상태 배지 세분화 + 공개 예정일 정리#2406

Merged
dusvlf111 merged 6 commits into
mainfrom
LC-magnet-access-status
Jun 22, 2026
Merged

feat(admin): 마그넷 접속 상태 배지 세분화 + 공개 예정일 정리#2406
dusvlf111 merged 6 commits into
mainfrom
LC-magnet-access-status

Conversation

@dusvlf111

Copy link
Copy Markdown
Collaborator

#2405에서 초기 배지 작업만 머지된 뒤, 웹 실제 동작을 재확인하며 정리·세분화한 후속 변경입니다.

배경

startDate(노출 시작일)가 실제로는 웹에서 모든 타입의 "공개예정"(시작일 전 잠금 표시)을 제어하는 핵심 값임을 확인 (LibraryListContent·LibraryArticleisUpcoming). 초기에 이를 "출시알림 전용"으로 오판해 컬럼을 숨겼던 것을 바로잡고, 상태 배지를 웹 동작에 맞춰 세분화.

변경

컬럼

  • 노출 시작일공개 예정일 (전 타입 표시). "이 날짜 전엔 웹에서 공개예정 잠금, 이 날짜부터 공개. 출시알림은 이 날짜에 알림 발송."

접속 상태 배지 — 세분화 (웹 동작과 동일 기준)

  • 일반 타입: 만료 / 접속 차단 / 공개 예정(시작전·노출ON) / 예약·미노출(시작전·노출OFF) / 노출 중 / 링크 전용
  • 출시알림(LAUNCH_ALERT): 출시 예정(발송 전) / 구독 가능(발송~종료) / 만료 — 구독은 BE에서 항상 허용되는 특성 반영

링크 복사 / 행 회색

  • 실제 접속 가능(접속 ON + 노출 기간 안)일 때만 링크 복사 노출, 그 외 회색 처리
  • 출시알림은 종료일까지 구독 가능으로 일치

검증

  • tsc --noEmit magnet 에러 없음 / eslint 통과 / prettier 정리됨

🤖 Generated with Claude Code

dusvlf111 and others added 6 commits June 22, 2026 18:01
startDate 는 노출/접속을 게이트하지 않고 출시알림(LAUNCH_ALERT) 발송
트리거로만 쓰여서, 라벨이 동작과 어긋나 혼란을 줬다. 실제 기능에 맞춰
컬럼명만 정정(동작 변경 없음).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
startDate(출시 알림 전송일)는 출시알림에서만 의미가 있어, 일반 자료집
행에 의미 없는 날짜가 떠 혼란을 줬다. LAUNCH_ALERT 타입에서만 날짜를
표시하고 나머지는 '-' 로 정리.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
출시알림(LAUNCH_ALERT)은 BE에서 구독(신청) 게이트를 우회해 노출/기간과
무관하게 항상 신청 가능한데, 어드민 배지가 자료집 기준(접속 차단/만료)으로
계산돼 실제 동작과 어긋났다. LAUNCH_ALERT는 '구독 가능'으로 표시하고
회색 처리·링크 복사 게이트도 동일하게 항상 가능으로 맞춤.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
출시알림(LAUNCH_ALERT)도 노출 종료일까지만 노출·구독되므로(BE
findLaunchAlertMagnetVosByType 가 endDate 게이트), 종료일 지나면 '만료',
기간 안이면 '구독 가능'으로 표시. 직전 '항상 구독 가능'은 종료일을 무시해
부정확했던 것을 정정.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
startDate는 실제로 웹에서 모든 타입의 '공개예정'(시작일 전 잠금 표시)을
제어하는 핵심 값임이 확인됨. 직전의 '출시 알림 전송일' 리네임 + LAUNCH_ALERT
한정 표시는 자료집/VOD의 공개 예정일을 가려 잘못된 변경이었어 정정.

- 컬럼명 '공개 예정일'로 복원, 전 타입 표시
- 접속 상태에 '공개 예정'(시작일 전) 추가 — 웹 isUpcoming 과 동일 기준
- 공개 예정은 아직 미오픈이므로 링크 복사·회색 처리도 비활성으로 일치

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
시작일 전을 목록노출 여부로 분리하고 출시알림을 발송 전/후로 분리.
- 일반: 만료 / 접속 차단 / 공개 예정(시작전+노출) / 예약·미노출(시작전+미노출)
  / 노출 중 / 링크 전용
- 출시알림: 만료 / 출시 예정(발송 전) / 구독 가능(발송 후~종료)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the magnet access state logic in MagnetTable.tsx to support more detailed states, especially for the LAUNCH_ALERT type, and updates the startDate column header and description. The review feedback recommends refactoring a complex ternary operator in isMagnetAccessibleNow into an if statement to improve readability in accordance with the style guide, and suggests a future UI improvement to disable the accessibility checkbox for LAUNCH_ALERT types.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread apps/admin/src/pages/magnet/MagnetTable.tsx
@dusvlf111 dusvlf111 self-assigned this Jun 22, 2026
@dusvlf111 dusvlf111 merged commit 60af6db into main Jun 22, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant