feat: 관리자 페이지 커스터마이저 패널#431
Merged
Merged
Conversation
added 11 commits
March 8, 2026 22:46
WordPress Customizer 스타일의 오른쪽 슬라이드 패널로 현재 페이지를 보면서 메뉴/위젯을 실시간 편집할 수 있습니다. - 상단/사이드/펼침 메뉴 편집 (드래그앤드롭, 토글) - 위젯 편집 (메인/사이드바 영역, 순서변경, 활성화) - 기존 edit-mode-toggle을 커스터마이저 트리거로 대체 - 관리자 전용 지연 로딩 (비관리자 번들 영향 없음)
adminMenuStore(관리용)와 menuStore(표시용)의 타입이 달라 관리 데이터를 그대로 넣으면 상단 전용 메뉴(홈, 소모임, 피드)가 사이드바에 의도치 않게 노출되는 문제 수정. SSR API(/api/v1/menus/sidebar)를 다시 fetch하여 프론트 메뉴 갱신.
- $derived → $state + $effect 동기화로 DnD 작동 수정 (Svelte 5에서 $derived는 재할당 시 다음 사이클에서 리셋됨) - #key 블록으로 소스 변경 시 dndzone 재초기화 - saveAll 후 프론트 메뉴 자동 갱신
관리자 API 인증 실패 등으로 loadMenus()가 빈 배열을 반환할 때 SSR에서 받은 menuStore 데이터를 fallback으로 사용하여 "상단 메뉴가 없습니다" 문제 방지
open() 시 menuStore(SSR) 데이터를 먼저 세팅하여 빈 화면 방지. 관리자 API 성공 시 덮어쓰기, 실패 시 SSR 데이터 유지.
loadMenus() catch에서 this._menus = []로 초기화하던 것을 제거하여 관리자 API 실패 시에도 SSR에서 가져온 메뉴 데이터를 유지
- 알림 벨 드롭다운: 모든 알림 보기 옆에 알림설정 링크 추가 - /notifications 페이지: 필터 탭 우측에 설정 버튼 추가 - 설정 페이지 URL ?tab=notification 파라미터로 알림 탭 직접 이동 지원
MenuItem → Menu 변환 시 is_active, view_level 등 관리자 전용 필드를 기본값으로 채워서 필터가 정상 작동하도록 수정. 탭 클릭 디버그 로그 추가.
- {#each} 루프 + 동적 컴포넌트 대신 명시적 버튼으로 변경
- backdrop을 button에서 div로 변경하여 클릭 이벤트 간섭 방지
- role="tablist" 접근성 추가
menuStore.menus를 필터 없이 사이드바에 렌더링하여 show_in_header 전용 메뉴(홈, 소모임, 피드)도 좌측에 노출되던 버그 수정
Contributor
Staging 배포 완료URL: https://dev.damoang.net
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
변경사항
admin-customizer컴포넌트 (패널, 트리거, 4개 섹션)admin-customizer.svelte.ts스토어+page.svelte- EditModeToggle → CustomizerTrigger+layout.svelte- 패널 lazy-load 추가Test plan