Commit graph

12 commits

Author SHA1 Message Date
0f7d3d6f39 Revert "fix: 관리 페이지 날짜 상태 조건부 초기화"
This reverts commit 2dd5219265.
2026-01-10 00:20:04 +09:00
2dd5219265 fix: 관리 페이지 날짜 상태 조건부 초기화
문제: 일정 관리 페이지에서 날짜 선택 후 홈으로 갔다왔을 때
오늘 날짜로 초기화가 안됨

해결:
- useScheduleStore에 preserveState 플래그 추가
- AdminSchedule에서 preserveState가 false면 오늘 날짜로 초기화
- AdminScheduleForm, AdminScheduleBots에서 일정 관리로 돌아갈 때
  preserveState를 true로 설정하여 상태 유지
2026-01-10 00:19:06 +09:00
97fb4b7964 refactor: AdminHeader 공통 컴포넌트를 모든 Admin 페이지에 적용
새로 생성된 파일:
- components/admin/AdminHeader.jsx (47줄)

수정된 파일 (10개):
- pages/pc/admin/AdminMembers.jsx
- pages/pc/admin/AdminMemberEdit.jsx
- pages/pc/admin/AdminAlbums.jsx
- pages/pc/admin/AdminAlbumForm.jsx
- pages/pc/admin/AdminAlbumPhotos.jsx
- pages/pc/admin/AdminSchedule.jsx
- pages/pc/admin/AdminScheduleForm.jsx
- pages/pc/admin/AdminScheduleBots.jsx
- pages/pc/admin/AdminScheduleCategory.jsx
- pages/pc/admin/AdminDashboard.jsx

각 파일에서:
- 중복 헤더 JSX 제거 (24줄 → 1줄)
- handleLogout 함수 제거 (4~6줄)
- LogOut import 제거

총 약 300줄의 중복 코드 제거
2026-01-09 23:18:48 +09:00
0b00055773 refactor: useToast 커스텀 훅으로 Toast 로직 통합
- hooks/useToast.js 생성 (44줄)
- 적용 파일 (9개):
  - AdminMembers.jsx
  - AdminMemberEdit.jsx
  - AdminAlbums.jsx
  - AdminAlbumForm.jsx
  - AdminAlbumPhotos.jsx
  - AdminSchedule.jsx
  - AdminScheduleForm.jsx
  - AdminScheduleBots.jsx
  - AdminScheduleCategory.jsx
- 각 파일에서 중복된 toast useState/useEffect 제거
- showSuccess/showError 편의 메서드 활용

총 약 70줄의 중복 코드 제거
2026-01-09 22:57:34 +09:00
9886048a4c refactor: API 중앙화 시작 (1/3)
- api/ 디렉토리 구조 생성
  - index.js: 공통 fetch 래퍼
  - schedules.js, albums.js, members.js: 공개 API
  - admin/: 어드민 API (bots, albums, categories, members, schedules)
- Schedule.jsx: API 모듈 적용
- AdminScheduleBots.jsx: API 모듈 적용
2026-01-09 21:56:32 +09:00
8db0a574ab fix: 봇 관리 페이지 애니메이션 최적화
- 시작/중지 시 로컬 상태만 업데이트하여 전체 목록 새로고침 방지
- isInitialLoad 상태로 첫 로드 시에만 애니메이션 실행
- 새로고침 버튼 클릭 시에도 애니메이션 실행
2026-01-09 20:31:47 +09:00
20546599cc feat: YouTube API 할당량 경고 시스템 구현
- RSS 방식에서 YouTube API 방식으로 변경 (최근 10개 영상 조회)
- rss_url 컬럼 삭제
- Google Cloud Webhook으로 할당량 경고 수신
- 95% 도달 시 봇 자동 중지
- LA 시간 자정(할당량 리셋)에 봇 자동 재시작
- 봇 관리 페이지에 경고 배너 표시
2026-01-07 23:54:35 +09:00
d3b6598138 봇 목록 새로고침 버튼 추가
- 헤더에 새로고침 버튼 추가
- 커스텀 Tooltip 컴포넌트 적용
- 로딩 시 아이콘 회전 애니메이션
2026-01-06 11:46:36 +09:00
217746af3e 봇 관리 UI 개선
- 카드 그리드 레이아웃으로 변경
- 통계 분리: 총 추가 / 마지막 추가 / 업데이트 간격
- DB에 last_added_count 컬럼 추가
- 업데이트 시간을 봇 이름 아래에 표시
- 마지막 추가된 개수 초록색 강조
2026-01-06 11:42:47 +09:00
52332babea 일정 관리 기능 개선: 봇 스케줄러 리팩토링, 멤버 표시, UI 개선
- 봇 스케줄러: 서버 시작 시 자동 초기화, 10초 간격 상태 동기화
- DB 리팩토링: bots 테이블에서 YouTube 컬럼 분리, bot_youtube_config 활용
- 봇별 커스텀 설정: BOT_CUSTOM_CONFIG 상수로 코드 내 관리
- 공개/관리자 일정 목록에 멤버 태그 표시 (5명 이상이면 '프로미스나인')
- 일정 목록 글씨 크기 증가 및 UI 개선
- source_name 관리자 일정에 뱃지로 표시
- 봇 시작/정지 토스트에 봇 이름 포함
2026-01-06 00:27:35 +09:00
4d37f0dfe2 fix(bot): 오류 발생 후 목록 갱신 추가 2026-01-05 22:31:56 +09:00
1b01182028 feat: 일정 봇 자동화 및 검색 기능 추가
- YouTube 일정 봇 서비스 추가 (youtube-bot.js, youtube-scheduler.js)
- 공개 일정 API 라우터 추가 (schedules.js)
- 관리자 일정 봇 관리 페이지 추가 (AdminScheduleBots.jsx)
- 백엔드 의존성 업데이트
2026-01-05 22:16:02 +09:00