feat: 글자크기를 계정별·메뉴별로 저장(재로그인 유지)
기존 전역 localStorage 방식(모든 메뉴 일괄 적용)을 화면 경로(메뉴키) 기준 계정별 DB 저장으로 변경. A−/A+ 조정 시 해당 화면만 조정·저장되고, 다음 방문·재로그인 시 각 화면의 저장값이 서버 주입으로 복원된다. - member_menu_font_scale 테이블 + 저장 엔드포인트(bag/pref/font-scale) - member_font_scale_for() 헬퍼로 렌더 시 현재 화면 저장값 주입 - admin/portal/embed 레이아웃 + 워크스페이스(탭 iframe)에 적용 · 워크스페이스는 포커스된 탭(메뉴)만 조정, 디바운스 저장으로 CSRF 경합 방지 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
15
writable/database/member_menu_font_scale.sql
Normal file
15
writable/database/member_menu_font_scale.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
-- 계정별 · 메뉴별 글자크기(zoom %) 저장
|
||||
-- 실행: mysql --default-character-set=utf8mb4 -u USER -p DBNAME < writable/database/member_menu_font_scale.sql
|
||||
|
||||
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `member_menu_font_scale` (
|
||||
`mmf_idx` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`mmf_mb_idx` INT UNSIGNED NOT NULL,
|
||||
`mmf_menu_key` VARCHAR(191) NOT NULL,
|
||||
`mmf_scale` SMALLINT UNSIGNED NOT NULL DEFAULT 100,
|
||||
`mmf_updated` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`mmf_idx`),
|
||||
UNIQUE KEY `uk_mb_menu` (`mmf_mb_idx`, `mmf_menu_key`),
|
||||
KEY `idx_mb` (`mmf_mb_idx`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
Reference in New Issue
Block a user