Skip to content

Comments

feat: 가챠 게시판 전면 개편 및 회원 탈퇴 기능 추가#1

Merged
3rdflr merged 4 commits intomainfrom
dev
Feb 22, 2026
Merged

feat: 가챠 게시판 전면 개편 및 회원 탈퇴 기능 추가#1
3rdflr merged 4 commits intomainfrom
dev

Conversation

@3rdflr
Copy link
Owner

@3rdflr 3rdflr commented Feb 22, 2026

주요 변경사항

🗂️ 가챠 게시판 UI 개편

  • 카테고리를 가챠 / 쿠지 2종으로 정리, 상단 탭으로 필터
  • 카드 이미지 위에 🇯🇵 / 🇰🇷 국가 배지 표시
  • 1kuji 스타일 블럭형 카드 그리드 레이아웃 적용 (2~4열)
  • 가격 표시 국가 연동 — 일본은 , 한국은

🖼️ 이미지 최적화 (wsrv.nl CDN 도입)

  • Vercel 이미지 자동 최적화(unoptimized: true) 비활성화 → 5000건 리밋 해소
  • wsrvLoader 공통 유틸 생성, 전체 Image 컴포넌트에 적용
  • 업로드 전 Canvas API로 1920px 리사이즈 + JPEG 0.82 압축 (1회 처리로 속도 개선)
  • 다중 이미지 선택 및 Promise.all 병렬 업로드 지원
  • 업로드 용량 제한 5MB → 20MB 초과 시 자동 압축

🔐 회원 탈퇴

  • /api/delete-account Route Handler 추가 (Service Role Key로 서버에서 완전 삭제)
  • 프로필 모달 하단에 탈퇴 UI 추가 — 탈퇴 직접 입력 후 버튼 활성화되는 이중 확인 방식
  • 탈퇴 완료 후 자동 로그아웃 및 메인 이동

기타

  • supabase.ts 전역 cache-control: no-cache 헤더 제거 (업로드 성능 개선)
  • 게시판 상단 ← 지도로 돌아가기 링크 추가
  • 게시글 에디터에 국가 선택 필드 추가 (일본 / 한국)

환경변수 추가 필요

SUPABASE_SERVICE_ROLE_KEY=<Supabase 대시보드 > Project Settings > API > service_role>

🤖 Generated with Claude Code

3rdflr and others added 2 commits February 22, 2026 16:00
- /api/delete-account Route Handler 추가 (Service Role Key로 auth 유저 완전 삭제)
- useAuthStore에 deleteAccount 액션 추가
- UserProfileModal 하단에 회원 탈퇴 UI 추가
  - '탈퇴' 직접 입력 후 버튼 활성화되는 이중 확인 방식
  - 탈퇴 완료 후 자동 로그아웃 및 메인 페이지 이동

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel
Copy link

vercel bot commented Feb 22, 2026

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

Project Deployment Actions Updated (UTC)
gacha-map Ready Ready Preview, Comment Feb 22, 2026 7:17am

- userId를 body로 받던 방식 제거 (타인 계정 삭제 취약점)
- Authorization 헤더의 액세스 토큰으로 실제 유저 검증 후 삭제
- 클라이언트에서 supabase.auth.getSession()으로 토큰을 헤더에 포함하여 전송

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ld-time failure

Next.js evaluates module-level code at build time, causing "supabaseKey is required"
error when SUPABASE_SERVICE_ROLE_KEY is not available during the build phase.
Moving createClient() inside the DELETE handler ensures it runs only at request time.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link

📖 PR #1 — feat: 가챠 게시판 전면 개편 및 회원 탈퇴 기능 추가

Repository: 3rdflr/gacha_map
Commit: 5acbdfc
변경된 JS/TS 파일: 3개


📄 src/components/UserProfileModal.tsx

🎨 JSX Structure

div
div
div
  button
    Trash2
  div
    p
    p
      br
    input
    div
      button
      button

🛠 Auto-generated by github-mobile-reader. Do not edit manually.

@3rdflr 3rdflr merged commit 10d132a into main Feb 22, 2026
3 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