0.1.29 — 게시판 공유 모달 + 모던 설정 관리
신규 기능
게시판 view 공유 모달
본문 하단 [공유] 버튼 (스크랩 옆, m-icon-btn 칩) → 중앙 모달.
SNS 옵션:
- 페이스북 (외부 share URL)
- X (구 트위터,
x.com/intent/post) - Threads (
threads.net/intent/post) - 카카오톡 — Kakao SDK 자동 로드 (modern admin 의
social_share그룹에 JS 키 등록 시). 미설정 시 Web Share API (모바일 native share sheet) / 클립보드 복사로 fallback - 링크 복사 (clipboard API + execCommand fallback)
다크모드 자동 적용, 480px 이하 1-column grid.
핫픽스: /sns_send.php 라우터 누락
기존 SNS 공유 버튼 클릭 시 `/sns_send.php?bo_table=...&sns=facebook` → 404 — no route.
`/sns_send` cleanRoutes 추가 + clean URL 자동 정리. 결과:
`/sns_send.php?...` → 301 → `/sns_send?...` → 302 → 외부 SNS URL
모던 설정 관리 (`/admin/setting`)
`SETTINGS_SCHEMA` (코드) 와 `g5_setting` 테이블 (DB) 의 자동 동기화.
- schema 정의만으로 자동 노출 — `app/lib/setting.lib.php` 의 `SETTINGS_SCHEMA` 배열에 그룹 추가하면 admin 카드 자동 생성. DB 마이그레이션 SQL 별도 작성 불필요.
- [⟳ 업데이트] 버튼 — schema 의 새 그룹을 default 값으로 DB 시드 (기존 row 의 사용자 입력값은 절대 안 건드림). 테이블 자체 없으면 자동 `CREATE TABLE`.
- 조건부 노출 — 동기화 OK 상태에선 버튼/라벨 모두 숨김 (시각 정리). schema vs DB 차이가 있을 때만 `[⟳ 업데이트 (N개 그룹 추가 필요)]` 노출.
- 활성 그룹만 노출 — 목록은 DB row 있는 그룹만. schema 에만 있는 그룹은 [⟳ 업데이트] 누르기 전까지 안 보임.
- 단일 진입점 — `dbupgrade` / `db_migrate` 의 g5_setting 처리 제거. 테이블·그룹 시드 모두 `/admin/setting` [⟳ 업데이트] 한 곳.
신규 schema 그룹: `social_share`
카카오톡 공유의 Kakao JavaScript 키 입력 UI. 입력 후 저장 → 게시판 view 공유 모달의 [카카오톡] 버튼이 직접 공유 모드로 전환.
`SETTINGS_SCHEMA` 의 notes 에 카카오 개발자 콘솔 등록 절차 (앱 등록 → JS 키 → Web 도메인 → 카카오톡 메시지 활성화) 한국어 안내 포함.
🤖 Generated with Claude Code