릴리스: v0.1.51 관리자 미리보기와 요청 조건 정리

This commit is contained in:
2026-03-27 11:59:17 +09:00
parent 9644eabf00
commit 7b4a80f47d
6 changed files with 63 additions and 23 deletions

View File

@@ -91,9 +91,8 @@ const customItems = computed(() =>
.filter((item) => item?.origin === 'custom')
.sort((a, b) => (a.label || '').localeCompare(b.label || '', 'ko'))
)
const hasPlacedItems = computed(() => groups.value.some((group) => (group.itemIds || []).length > 0))
const canRequestTemplateCreate = computed(
() => canEdit.value && !isNewTierList.value && gameId.value === 'freeform' && !hasPlacedItems.value && customItems.value.length > 0
() => canEdit.value && !isNewTierList.value && gameId.value === 'freeform' && customItems.value.length > 0
)
const canRequestTemplateUpdate = computed(
() => canEdit.value && !isNewTierList.value && gameId.value !== 'freeform' && customItems.value.length > 0
@@ -104,11 +103,6 @@ const templateRequestChecks = computed(() => [
label: '티어표 이름(게임 이름)을 직접 입력했는지',
passed: !!(title.value || '').trim() && (title.value || '').trim() !== (gameName.value || '').trim(),
},
{
id: 'empty-board',
label: '등록한 이미지를 티어에 배치하지 않은 원본 상태인지',
passed: !hasPlacedItems.value,
},
])
const canSubmitTemplateCreateRequest = computed(() => templateRequestChecks.value.every((item) => item.passed))
@@ -530,10 +524,6 @@ async function requestTemplate(type) {
toast.error('이미 처리 대기 중인 같은 요청이 있어요.')
return
}
if (e?.status === 400 && e?.data?.error === 'board_must_be_empty') {
toast.error('템플릿 등록 요청은 보드를 비운 상태에서만 보낼 수 있어요.')
return
}
if (e?.status === 400 && e?.data?.error === 'custom_items_required') {
toast.error('먼저 커스텀 아이템을 추가한 뒤 요청해주세요.')
return
@@ -712,7 +702,7 @@ onUnmounted(() => {
</div>
</div>
<div class="requestChecklist__hint">
제목이 명확하고, 보드는 비워둔 채 원본 아이템만 정리되어 있을수록 관리자가 새 게임 템플릿으로 빠르게 등록하기 쉬워져요.
제목만 명확하게 적어두면 관리자가 어떤 게임 템플릿 요청인지 빠르게 파악할 수 있어요. 여러 사용자가 비슷한 주제로 요청할 수 있으니 게임 이름을 구체적으로 적어주세요.
</div>
<div class="modalCard__actions">
<button class="btn btn--ghost" @click="closeTemplateRequestModal">취소</button>