릴리스: v1.4.6 관리자 내부 명칭 정리 2차

This commit is contained in:
2026-04-02 18:43:39 +09:00
parent 1ed08d1e34
commit 20955e277c
10 changed files with 401 additions and 393 deletions

View File

@@ -1,13 +1,13 @@
<script setup>
const props = defineProps({
featuredGames: { type: Array, required: true },
availableGamesForFeatured: { type: Array, required: true },
featuredGameIds: { type: Array, required: true },
featuredTemplates: { type: Array, required: true },
availableTemplatesForFeatured: { type: Array, required: true },
featuredTemplateIds: { type: Array, required: true },
featuredListRef: { type: Function, required: true },
saveFeaturedOrder: { type: Function, required: true },
moveFeaturedGame: { type: Function, required: true },
removeFeaturedGame: { type: Function, required: true },
addFeaturedGame: { type: Function, required: true },
moveFeaturedTemplate: { type: Function, required: true },
removeFeaturedTemplate: { type: Function, required: true },
addFeaturedTemplate: { type: Function, required: true },
})
</script>
@@ -24,21 +24,21 @@ const props = defineProps({
<div class="featuredOrderPanel">
<div class="featuredOrderPanel__list">
<div class="section__title">상단 고정 목록</div>
<div v-if="!props.featuredGames.length" class="hint">아직 상단 고정 템플릿이 없어요.</div>
<div v-if="!props.featuredTemplates.length" class="hint">아직 상단 고정 템플릿이 없어요.</div>
<div v-else :ref="props.featuredListRef" class="featuredList">
<article v-for="(game, index) in props.featuredGames" :key="game.id" class="featuredCard" :data-featured-id="game.id">
<article v-for="(template, index) in props.featuredTemplates" :key="template.id" class="featuredCard" :data-featured-id="template.id">
<div class="featuredCard__meta">
<span class="featuredCard__rank">{{ index + 1 }}</span>
<div>
<div class="featuredCard__title">{{ game.name }}</div>
<div class="featuredCard__id">{{ game.id }}</div>
<div class="featuredCard__title">{{ template.name }}</div>
<div class="featuredCard__id">{{ template.id }}</div>
</div>
</div>
<div class="featuredCard__actions">
<button class="btn btn--ghost btn--small" data-featured-handle>드래그</button>
<button class="btn btn--ghost btn--small" :disabled="index === 0" @click="props.moveFeaturedGame(game.id, -1)">위로</button>
<button class="btn btn--ghost btn--small" :disabled="index === props.featuredGames.length - 1" @click="props.moveFeaturedGame(game.id, 1)">아래로</button>
<button class="btn btn--danger btn--small" @click="props.removeFeaturedGame(game.id)">제외</button>
<button class="btn btn--ghost btn--small" :disabled="index === 0" @click="props.moveFeaturedTemplate(template.id, -1)">위로</button>
<button class="btn btn--ghost btn--small" :disabled="index === props.featuredTemplates.length - 1" @click="props.moveFeaturedTemplate(template.id, 1)">아래로</button>
<button class="btn btn--danger btn--small" @click="props.removeFeaturedTemplate(template.id)">제외</button>
</div>
</article>
</div>
@@ -48,14 +48,14 @@ const props = defineProps({
<div class="section__title">템플릿 추가</div>
<div class="featuredPickerList">
<button
v-for="game in props.availableGamesForFeatured"
:key="game.id"
v-for="template in props.availableTemplatesForFeatured"
:key="template.id"
class="featuredPickerItem"
:disabled="props.featuredGameIds.length >= 50"
@click="props.addFeaturedGame(game.id)"
:disabled="props.featuredTemplateIds.length >= 50"
@click="props.addFeaturedTemplate(template.id)"
>
<span>{{ game.name }}</span>
<span class="featuredPickerItem__id">{{ game.id }}</span>
<span>{{ template.name }}</span>
<span class="featuredPickerItem__id">{{ template.id }}</span>
</button>
</div>
</div>