feat(menu): PHP 기준 공통 메뉴를 런타임 설정으로 이관
Gateway와 게임 공통 메뉴를 영속 JSON에서 읽고 다음 페이지 로드에 반영한다. 운영 PHP의 항목과 순서, desktop/mobile geometry 및 정보 동작을 보존하고 검증·복구 문서를 추가한다.
This commit is contained in:
@@ -20,6 +20,7 @@ const props = withDefaults(
|
||||
|
||||
const emit = defineEmits<{
|
||||
navigate: [];
|
||||
action: [action: NonNullable<MainNavigationLink['action']>];
|
||||
}>();
|
||||
|
||||
const label = computed(() => (props.compact ? (props.link.compactLabel ?? props.link.label) : props.link.label));
|
||||
@@ -54,6 +55,16 @@ const lumenClasses = computed(() =>
|
||||
>
|
||||
{{ label }}
|
||||
</a>
|
||||
<button
|
||||
v-else-if="enabled && link.action"
|
||||
class="main-menu-link main-menu-link--button"
|
||||
:class="[lumenClasses, { highlight: active }]"
|
||||
type="button"
|
||||
:data-navigation-id="link.id"
|
||||
@click="emit('action', link.action)"
|
||||
>
|
||||
{{ label }}
|
||||
</button>
|
||||
<span
|
||||
v-else
|
||||
class="main-menu-link disabled"
|
||||
@@ -92,6 +103,10 @@ const lumenClasses = computed(() =>
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.main-menu-link--button {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.main-menu-link:hover,
|
||||
.main-menu-link:focus-visible,
|
||||
.main-menu-button:hover,
|
||||
|
||||
Reference in New Issue
Block a user