feat(menu): PHP 기준 공통 메뉴를 런타임 설정으로 이관

Gateway와 게임 공통 메뉴를 영속 JSON에서 읽고 다음 페이지 로드에 반영한다. 운영 PHP의 항목과 순서, desktop/mobile geometry 및 정보 동작을 보존하고 검증·복구 문서를 추가한다.
This commit is contained in:
2026-08-19 11:13:57 +00:00
parent b43d7601e7
commit a14282b34d
25 changed files with 744 additions and 173 deletions
@@ -0,0 +1,57 @@
export type RuntimeNavigationAction = 'show-version';
export type RuntimeNavigationVisibility = 'always' | 'npc-enabled';
export type RuntimeNavigationHighlight = 'nation-betting' | 'vote';
export interface RuntimeNavigationLink {
kind: 'link';
id: string;
label: string;
to?: string;
href?: string;
action?: RuntimeNavigationAction;
newTab?: boolean;
showWhen?: RuntimeNavigationVisibility;
highlightWhen?: RuntimeNavigationHighlight;
}
export interface RuntimeNavigationDivider {
kind: 'divider';
id: string;
}
export interface RuntimeNavigationGroup {
kind: 'group';
id: string;
label: string;
items: Array<RuntimeNavigationLink | RuntimeNavigationDivider>;
}
export interface RuntimeNavigationSplit {
kind: 'split';
id: string;
main: RuntimeNavigationLink;
items: Array<RuntimeNavigationLink | RuntimeNavigationDivider>;
}
export type RuntimeNavigationEntry = RuntimeNavigationLink | RuntimeNavigationGroup | RuntimeNavigationSplit;
export interface GatewayNavigationLink {
id: string;
label: string;
href: string;
newTab?: boolean;
}
export interface RuntimeNavigationConfig {
version: 1;
gateway: {
brand: {
label: string;
to: string;
};
items: GatewayNavigationLink[];
};
game: {
items: RuntimeNavigationEntry[];
};
}