릴리스: v1.4.3 사용자 노출 용어 정리 3차

This commit is contained in:
2026-04-02 18:17:50 +09:00
parent d5621362f1
commit 31613e4613
8 changed files with 36 additions and 30 deletions

View File

@@ -161,7 +161,7 @@ export function useAdminCustomItems({
async function promoteCustomItem(item) {
resetMessages()
if (!customItemModalTargetGameId.value) {
error.value = '추가할 게임을 먼저 선택해주세요.'
error.value = '추가할 템플릿을 먼저 선택해주세요.'
return
}

View File

@@ -43,7 +43,7 @@ export function useAdminFeaturedGames({
resetMessages()
if (!gameId || featuredGameIds.value.includes(gameId)) return
if (featuredGameIds.value.length >= 50) {
error.value = '상단 고정 게임은 최대 50개까지만 설정할 수 있어요.'
error.value = '상단 고정 템플릿은 최대 50개까지만 설정할 수 있어요.'
return
}
featuredGameIds.value = [...featuredGameIds.value, gameId]
@@ -76,9 +76,9 @@ export function useAdminFeaturedGames({
.filter((game) => game.displayRank != null)
.sort((a, b) => a.displayRank - b.displayRank)
.map((game) => game.id)
success.value = '홈 화면 게임 순서를 저장했어요.'
success.value = '홈 화면 템플릿 순서를 저장했어요.'
} catch (e) {
error.value = '게임 순서 저장에 실패했어요.'
error.value = '템플릿 순서 저장에 실패했어요.'
}
}

View File

@@ -143,7 +143,7 @@ export function useAdminGameManager({
await syncGameItemSortable()
} catch (e) {
selectedGame.value = null
error.value = '게임 정보를 불러오지 못했어요.'
error.value = '템플릿 정보를 불러오지 못했어요.'
} finally {
isGameLoading.value = false
}
@@ -196,9 +196,9 @@ export function useAdminGameManager({
const sourceRequest = templateRequests.value.find((entry) => entry.id === activeTemplateRequest.value.id) || activeTemplateRequest.value
mergeRequestItemsIntoDrafts(sourceRequest)
}
success.value = '게임이 생성됐어요. 이어서 썸네일과 기본 아이템을 관리할 수 있어요.'
success.value = '템플릿이 생성됐어요. 이어서 썸네일과 기본 아이템을 관리할 수 있어요.'
} catch (e) {
error.value = '게임 생성 실패(관리자 권한/중복 ID 확인)'
error.value = '템플릿 생성 실패(관리자 권한/중복 ID 확인)'
}
}
@@ -258,7 +258,7 @@ export function useAdminGameManager({
const draftGameId = (activeTemplateRequest.value?.draftGameId || '').trim()
const draftGameName = (activeTemplateRequest.value?.draftGameName || '').trim()
if (!draftGameId || !draftGameName) {
error.value = '먼저 신규 템플릿의 게임 이름과 게임 ID를 저장해주세요.'
error.value = '먼저 신규 템플릿의 이름과 템플릿 ID를 저장해주세요.'
return
}
await createGame({
@@ -269,7 +269,7 @@ export function useAdminGameManager({
}
if (!selectedGameId.value) {
error.value = '게임을 먼저 선택해주세요.'
error.value = '템플릿을 먼저 선택해주세요.'
return
}
@@ -311,7 +311,7 @@ export function useAdminGameManager({
resetUploadState()
await loadGame()
success.value = `게임 기본 아이템 ${uploadCount}개 추가를 완료했어요.`
success.value = `템플릿 기본 아이템 ${uploadCount}개 추가를 완료했어요.`
} catch (e) {
const apiError = e?.data?.error || ''
if (apiError === 'no_items_selected') {
@@ -320,11 +320,11 @@ export function useAdminGameManager({
}
if (apiError === 'promote_items_failed') {
const detail = e?.data?.detail ? ` (${e.data.detail})` : ''
error.value = `요청 아이템을 게임 기본 아이템으로 옮기지 못했어요.${detail}`
error.value = `요청 아이템을 템플릿 기본 아이템으로 옮기지 못했어요.${detail}`
return
}
if (apiError === 'game_not_found') {
error.value = '선택한 게임을 찾지 못했어요.'
error.value = '선택한 템플릿을 찾지 못했어요.'
return
}
error.value = '아이템 추가에 실패했어요.'

View File

@@ -41,8 +41,8 @@ export function useAdminTemplateRequests({
}
function templateRequestReviewHint(request) {
if (request.type === 'create') return '게임 생성 후 필요한 아이템만 골라 추가하고, 끝나면 여기서 처리 완료하세요.'
return '확인하기를 누르면 게임 관리 화면에 요청 아이템이 임시 추가되어 필요한 것만 선별 저장할 수 있어요.'
if (request.type === 'create') return '템플릿 생성 후 필요한 아이템만 골라 추가하고, 끝나면 여기서 처리 완료하세요.'
return '확인하기를 누르면 템플릿 관리 화면에 요청 아이템이 임시 추가되어 필요한 것만 선별 저장할 수 있어요.'
}
async function startTemplateRequestReview(request) {
@@ -77,7 +77,7 @@ export function useAdminTemplateRequests({
if (nextGameId) await selectAdminGame(nextGameId)
mergeRequestItemsIntoDrafts(syncedRequest)
}
success.value = '요청 아이템을 게임 관리 화면으로 가져왔어요. 필요한 항목만 골라서 추가해 주세요.'
success.value = '요청 아이템을 템플릿 관리 화면으로 가져왔어요. 필요한 항목만 골라서 추가해 주세요.'
} catch (e) {
error.value = '요청 확인 단계로 이동하지 못했어요.'
} finally {

View File

@@ -1647,7 +1647,7 @@ function userAvatarFallback(user) {
<section class="wrap adminUiScope">
<!-- <h2 class="title">관리자</h2> -->
<div class="card">
<!-- <div class="desc">기능이 많아진 만큼 관리 영역을 게임, 아이템, 회원 관리로 나눠서 정리합니다.</div> -->
<!-- <div class="desc">기능이 많아진 만큼 관리 영역을 템플릿, 아이템, 회원 관리로 나눠서 정리합니다.</div> -->
<div v-if="!auth.user" class="warn">로그인이 필요해요.</div>
<div v-else-if="!isAdmin" class="warn"> 계정은 관리자 권한이 없어요.</div>