Commit graph

23 commits

Author SHA1 Message Date
f27c46f68d 캐릭터 카드 드래그 핸들 영역 제한
카드 전체가 드래그 리스너를 잡고 있어 태블릿에서 세로 스크롤이
불가능했던 문제 해결. useDragControls로 왼쪽 핸들 영역에서만
드래그가 시작되도록 변경.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 08:06:58 +09:00
0c6ccecc90 해방 진행도 UI 세부 조정
- 라벨/밑줄과 세그먼트 바 간격 조정
- 1차/2차 밑줄 사이 간격을 세그먼트 바와 동일하게 맞춤
- 세그먼트 진행도 색상을 인라인 스타일로 변경 (Tailwind 컴파일 이슈 회피)
- 예상 해방 날짜 표시 위치/스타일 다듬기

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 00:26:44 +09:00
f7b1c629f9 해방 계산기 진행도 UI 초안 추가
- 제네시스 8챕터 세그먼트 바 + 보스 초상화
- 1차/2차 해방 구분, 예상 해방 날짜 표시
- 다크 테마 커스텀 DatePicker 컴포넌트 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 00:22:46 +09:00
479835805e 푸터 문구를 NEXON 권장 영문 표기로 변경
- 'This site is not associated with NEXON Korea.'
- 'Data based on NEXON Open API.'

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 20:46:08 +09:00
6e1df46852 관리자 페이지 헤더/뒤로가기/메뉴편집 단축 제거
- AdminLayout 상단 ADMIN/관리자/로그아웃 헤더 제거
- 뒤로가기 버튼 제거 (홈 헤더 로고로 이동 가능)
- AdminFeaturePage의 메뉴 정보 편집 단축 링크 제거
- 로그아웃은 관리자 홈 하단에 작게 배치

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 20:42:28 +09:00
0fb325b815 헤더/탭 제목, 커스텀 툴팁, 캐릭터 입력 UI 개선
- 커스텀 Tooltip 컴포넌트 (portal, fadeIn, 자동 위치 보정)
- 헤더에 현재 메뉴 제목 표시 (브레드크럼 스타일)
- 브라우저 탭 제목 자동 동기화
- 캐릭터 닉네임 검색 입력 강조 (아이콘, 두꺼운 테두리, 그림자)
- 결정 개수 강조 (큰 폰트, amber 색상)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 20:38:01 +09:00
b980e7d78a 넥슨 Open API 사용 통계 스크립트 추가
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:21:40 +09:00
7b6a821f36 보스 결정 사용자 페이지 + UI/UX 개선
레이아웃:
- 풀스크린 모드 컨텍스트 (BossCrystal 페이지에서 푸터 숨김 + viewport 고정)
- 캐릭터 패널: 자연 높이 + viewport 한도 + 내부 목록 스크롤
- 보스 패널: 헤더 고정 + 목록 내부 스크롤
- 커스텀 스크롤바 (전역)

캐릭터 패널:
- framer-motion Reorder로 드래그앤드롭 정렬
- 가로 캐릭터 행 + 6x2 보스 그리드 + 난이도 영문 첫글자 뱃지
- 총 수익에 ResizeObserver 기반 자동 폰트 fit
- 캐릭터 삭제 시 첫번째 자동 선택, 입력 재개 시 에러 메시지 자동 제거

기능:
- 공개 보스/캐릭터 API 추가
- API 키 라이브 키로 변경

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:17:49 +09:00
793903668c 홈 페이지 공지 위젯 + 푸터 추가
- 넥슨 공지 위젯 (이벤트/캐시샵/업데이트/공지 탭)
- 이벤트/캐시샵은 진행중인 항목 모두, 그 외는 최근 6개
- 더보기/접기 grid-template-rows 애니메이션
- 캐시샵 ongoing_flag 대신 종료일 비교 (누락 항목 수정)
- 제목/부제목 분리, 달력 이모지로 기간 표시
- 공통 푸터 (저작권, 데이터 출처)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 16:48:05 +09:00
3df639c815 보스 폼 사용성 개선
- 가격 입력 시 Tab으로 다음 활성 가격 칸으로 이동 (체크박스 건너뜀)
- 최대 인원 기본값 6 → 3 (요즘 보스 기본)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 16:23:45 +09:00
89b0f1066d 하드 난이도 색상을 fuchsia(자홍)로 변경
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 16:13:06 +09:00
3fdd9fd981 난이도 배지 색상을 게임 내 이미지와 매치
이지(slate), 노말(sky), 하드(pink), 카오스(amber), 익스트림(red)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 16:09:23 +09:00
88c6d5d5f3 보스 목록 드래그 앤 드롭 정렬 추가
- @dnd-kit으로 드래그앤드롭 정렬 구현
- DragOverlay 패턴으로 부드러운 드래그 애니메이션
- 드롭 시 즉시 UI 반영 + reorder API 호출
- React 19 peer dep 충돌 해결을 위해 npm install --legacy-peer-deps 사용

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 16:06:08 +09:00
b885f464c3 보스 결정 관리 개선
- 최대 인원수를 보스 단위로 통합 (난이도별 → 보스 공통)
- 가격 입력 시 쉼표 자동 표시 (text + inputMode=numeric)
- registry 캐싱으로 sub-route 변경 시 화면 갱신 안되던 버그 수정

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 16:01:04 +09:00
39cda0d958 보스 결정 관리 페이지(프론트) 추가
- 보스 추가/편집/삭제 폼 (이름, 이미지, 난이도별 가격/인원)
- BossList: 등록된 보스 카드 목록 + 추가 버튼
- 동적 라우트가 sub-path 지원하도록 변경 (:slug/*)
- 커스텀 Checkbox/Select 컴포넌트
- number input 화살표 전역 제거
- 가격 입력 시 메소 단위 미리보기 표시
- 결정석 → 결정으로 용어 통일

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 15:41:47 +09:00
1de5dcb7b9 URL slug 기반 동적 기능 페이지 라우팅 추가
- features/registry.js: import.meta.glob으로 자동 컴포넌트 등록
- /:slug → features/{slug}/{PascalCase}.jsx 매핑
- /admin/:slug → features/{slug}/{PascalCase}Admin.jsx 매핑
- AdminHome 카드 분리 액션 (본체→기능 관리, ⚙→메뉴 정보 편집)
- AdminFeaturePage에 메뉴 정보 편집 단축 링크 추가
- 예시: features/boss-crystal/ stub 컴포넌트

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 15:27:04 +09:00
a0fd5a2dbb 메뉴 CRUD 백엔드 + 폼 개선
백엔드:
- Menu 모델 + admin/menus CRUD API + 공개 /api/menus 엔드포인트
- 정렬 변경(reorder) API 추가 (드래그앤드롭 대비)

프론트엔드:
- 메뉴 삭제 기능 (편집 모드 폼 좌측 빨간 버튼)
- ConfirmDialog를 공용 컴포넌트로 추출
- URL 입력을 prefix(/) 형태로 분리, 실제 URL 미리보기 표시
- 캐시 hit 시 폼 동기화 안되던 버그 수정 (useEffect로 데이터 sync)
- 전역 button/a 태그에 cursor-pointer 적용

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 15:20:46 +09:00
35df389141 이미지 페이징, React Query 도입, 메뉴 항목 추가/편집 폼 구현
- 이미지 목록 서버 사이드 페이징 + 검색 디바운싱
- 전역 React Query 도입 (useEffect → useQuery/useMutation)
- 메뉴 추가/편집 폼 (제목, 설명, URL, 이미지)
- 업로드된 이미지에서 선택하는 ImagePicker 모달
- 미선택 시 default.png를 fallback으로 사용
- AdminHome 카드 클릭 시 편집 페이지로 이동

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 15:11:48 +09:00
921ce9676b 이미지 다중 업로드/삭제 및 중복 방지 추가
- 한 번에 여러 이미지 업로드 (드래그/선택, 개별 이름 수정/제거)
- 다중 선택 삭제 모드 (선택 모드 토글, 전체 선택)
- 커스텀 확인 다이얼로그 (네이티브 confirm 대체)
- 이미지 이름 unique 제약 + 입력 시 실시간 중복/빈 값 검증
- 백엔드 다중 업로드 시 사전 중복 체크
- 카드에서 URL 표시 제거

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 14:42:51 +09:00
65fdc70ff2 이미지 관리 페이지 UI 구현
- 그리드 뷰로 업로드된 이미지 표시 (호버 시 URL 복사/삭제)
- 드래그 앤 드롭 + 클릭 업로드 모달
- 이름 검색 기능
- API 클라이언트가 /api/admin 호출 시 인증 헤더 자동 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 14:27:00 +09:00
72ff284f20 관리자 대시보드 리디자인 및 메뉴/이미지 관리 페이지 추가
- 관리자 페이지 카드형 메뉴 구조로 개편 (DB 연동 준비)
- 메이플스토리 폰트, 단풍잎 favicon 적용
- 헤더 디자인 개선 (백드롭 블러, 단풍잎 로고)
- 홈 페이지를 메뉴 동적 로드 형태로 변경
- 보스 계산기 페이지 제거 (DB 기반으로 재구축 예정)
- 이미지/메뉴 관리 페이지 라우트 추가 (placeholder)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 14:20:32 +09:00
6c51e7d94d OAuth 제거, 닉네임 입력 방식으로 변경 및 관리자 페이지 추가
- 넥슨 OAuth 로그인 제거 (Redis, 세션, User 모델 등)
- 캐릭터 닉네임 입력 → API 키로 조회하는 방식으로 변경
- 관리자 페이지 추가 (/admin?key=<NEXON_API_KEY>)
- 보스 선택 UI를 3단 레이아웃(캐릭터/보스/결과)으로 리디자인
- 캐릭터 및 보스 선택 데이터 localStorage 저장

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:02:32 +09:00
4bbb496724 초기 프로젝트 설정
- React + Vite + Tailwind 프론트엔드
- Express + Sequelize + MariaDB 백엔드
- 넥슨 OAuth 2.0 인증 (캐릭터 목록 조회)
- 주간 보스 결정석 수익 계산기 UI (리스트형)
- Docker Compose + Caddy 리버스 프록시 설정
- 보스/난이도 이미지 에셋 포함

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 18:55:06 +09:00