Skip to content

feat: 비회원 문의 답변, 문의 IP 차단, 공지 삭제와 임시저장, 유저 정보 화면 - #6

Merged
wlrnjs merged 5 commits into
developfrom
feat/admin-ops-tools
Sep 26, 2026
Merged

wlrnjs merged 5 commits into
developfrom
feat/admin-ops-tools

Conversation

@wlrnjs

@wlrnjs wlrnjs commented Sep 26, 2026

Copy link
Copy Markdown
Member

Pull Request

관련 이슈

  • close #이슈번호

작업 내용

  • 비회원 문의 상세에 답변 작성 폼을 추가했습니다. 답변을 보내면 문의자 이메일로 발송되고 문의가 처리 완료로 바뀝니다. 이미 답변한 문의에는 폼 대신 안내 문구를 보여줍니다.
  • 회원 문의와 비회원 문의 상세에 IP 차단 버튼을 추가했습니다. 확인 모달을 거쳐 차단하며, 이미 차단된 IP이면(409) 별도 안내를 보여줍니다. 회원 문의 상세에는 문의 IP도 표시합니다.
  • 공지 수정 화면 헤더에 삭제 버튼을 추가했습니다. 확인 후 삭제하고 공지 목록으로 이동합니다.
  • 공지 글쓰기 화면에 임시저장을 추가했습니다. 진입 시 임시저장본이 있으면 불러올지 묻고, 불러온 상태에서 작성 완료하면 새 공지를 만들지 않고 해당 임시저장본을 발행합니다.
  • 유저 정보 화면(/admin/users/[userId])을 추가했습니다. 기본 정보, 활동 통계, 약관 동의 여부, 구독 카테고리를 보여줍니다.
  • 상세 응답에 사용자 ID가 없어서, 신고와 회원 문의 목록에서 상세로 이동할 때 ?userId=를 넘기고 상세 화면에 신고자 또는 문의자 정보 링크를 두었습니다.
  • 운영 앱의 ConfirmModal을 한국어 문구로 옮기고 확인 버튼 문구와 진행 중 비활성화 옵션을 더했습니다.
  • 공지 작성, 임시저장, 수정에서 같던 이미지 업로드 로직을 useUploadNoticeImages로 합쳤습니다.

참고 사항

  • IP 차단 해제와 차단 목록, 상세 응답의 차단 여부 필드는 서버 API가 없어 이번에 포함하지 않았습니다. 백엔드에 추가를 요청할 예정입니다.
  • 비회원 문의의 IP 차단은 회원 문의용 API(/admin/inquiries/{id}/block-ip)를 호출합니다. 비회원 문의 ID로도 동작하는지 서버 확인이 필요합니다.
  • 상세 URL로 바로 들어오면 userId가 없어 유저 정보 링크가 보이지 않습니다.
  • Jest 전체(70개 스위트, 357개 테스트)와 tsc --noEmit은 통과했습니다. pnpm build와 e2e는 실행하지 않았습니다.

체크리스트

  • 기능이 정상 동작하는지 확인
  • 로컬 빌드/테스트 통과
  • 불필요한 코드/주석 제거

🤖 Generated with Claude Code

wlrnjs and others added 3 commits September 26, 2026 16:03
운영 앱의 ConfirmModal을 한국어 문구로 옮겨 왔습니다.
확인 버튼 문구를 바꾸는 confirmLabel과,
요청이 진행 중일 때 확인 버튼을 비활성화하는 isPending 옵션을 더했습니다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
공지 수정 화면 헤더에 삭제 버튼을 두고, 확인 후 삭제하면 공지 목록으로 이동합니다.
공지 글쓰기 화면에 임시저장을 추가했습니다.
진입할 때 임시저장본이 있으면 불러올지 묻고,
불러온 상태에서 작성 완료하면 그 임시저장본을 발행합니다.
작성, 임시저장, 수정에서 같던 이미지 업로드 로직은 useUploadNoticeImages로 합쳤습니다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
비회원 문의 상세에 답변 폼을 두어 문의자 이메일로 답변을 보냅니다.
이미 답변한 문의에는 폼 대신 안내 문구를 보여줍니다.
회원과 비회원 문의 상세에 확인 모달을 거치는 IP 차단 버튼을 추가했습니다.
유저 정보 화면(/admin/users/[userId])을 추가했습니다.
상세 응답에 사용자 ID가 없어서 신고와 회원 문의 목록에서 ?userId=로 넘기고,
상세 화면에 신고자 또는 문의자 정보 링크를 둡니다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
admin Ready Ready Preview Sep 26, 2026 7:15am UTC

@finditem-bot finditem-bot Bot added ✨ feature 새로운 기능 추가, 요구사항 반영 D-3 3일 이내에 처리가 필요합니다. labels Sep 26, 2026
@github-actions

github-actions Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Jest Test Results

357 tests   357 ✅  24s ⏱️
 70 suites    0 💤
  1 files      0 ❌

Results for commit 1eea22b.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Playwright Test Results

42 tests   42 ✅  15s ⏱️
 7 suites   0 💤
 1 files     0 ❌

Results for commit 1eea22b.

♻️ This comment has been updated with latest results.

wlrnjs and others added 2 commits September 26, 2026 16:11
React Compiler가 register 호출을 메모이즈해 reset 뒤 입력값이 채워지지 않았다. keepFieldsRef로 필드 ref를 유지해 곧바로 채운다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PC 미만에서도 사이드바가 숨긴 채로 렌더되어 프로필 문구가 두 번 잡히던 strict mode 위반을 고친다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@wlrnjs
wlrnjs merged commit 32df67d into develop Sep 26, 2026
6 checks passed
@wlrnjs
wlrnjs deleted the feat/admin-ops-tools branch September 26, 2026 07:28

This branch was successfully deployed

1 active deployment
Preview — 1eea22b8 Deployed Sep 26, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

D-3 3일 이내에 처리가 필요합니다. ✨ feature 새로운 기능 추가, 요구사항 반영

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant