릴리스: v1.3.48 관리자 미리보기와 새로고침 로딩 보정
This commit is contained in:
@@ -302,7 +302,44 @@ watch(
|
||||
async (tab) => {
|
||||
if (tab === 'game-admin' && selectedGameId.value && !selectedGame.value?.game?.id) {
|
||||
await loadGame()
|
||||
return
|
||||
}
|
||||
|
||||
if (tab === 'items') {
|
||||
customItemQuery.value = ''
|
||||
customItemOrphanOnly.value = false
|
||||
customItemPage.value = 1
|
||||
customItemModalGameQuery.value = ''
|
||||
await refreshCustomItems()
|
||||
return
|
||||
}
|
||||
|
||||
if (tab === 'tierlists') {
|
||||
if (tierlistsMode.value === 'requests') await refreshTemplateRequests()
|
||||
else await refreshAdminTierLists()
|
||||
return
|
||||
}
|
||||
|
||||
if (tab === 'users') {
|
||||
await refreshUsers()
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
watch(
|
||||
() => tierlistsMode.value,
|
||||
async (mode) => {
|
||||
if (activeTab.value !== 'tierlists') return
|
||||
if (mode === 'requests') await refreshTemplateRequests()
|
||||
else await refreshAdminTierLists()
|
||||
}
|
||||
)
|
||||
|
||||
watch(
|
||||
() => auth.user?.id,
|
||||
async (userId) => {
|
||||
if (!userId || !auth.user?.isAdmin) return
|
||||
await Promise.all([refreshGames(), refreshCustomItems(), refreshAdminTierLists(), refreshUsers(), refreshTemplateRequests(), refreshImageDiagnostics()])
|
||||
}
|
||||
)
|
||||
|
||||
@@ -2243,7 +2280,7 @@ async function saveFeaturedOrder() {
|
||||
<div v-if="previewTierList?.requestPreview" class="requestPreview">
|
||||
<div class="requestPreview__frame">
|
||||
<div class="requestPreview__header">
|
||||
<div class="requestPreview__title">{{ previewTierList.title || '티어표 미리보기' }}</div>
|
||||
<div class="requestPreview__heroTitle">{{ previewTierList.title || '티어표 미리보기' }}</div>
|
||||
<div v-if="previewTierList.description" class="requestPreview__desc">{{ previewTierList.description }}</div>
|
||||
<div class="requestPreview__meta">
|
||||
{{ previewRequestHasColumns(previewTierList) ? (previewRequestColumns(previewTierList).length + '열 구성') : '단일 열 구성' }} ·
|
||||
@@ -3457,7 +3494,8 @@ async function saveFeaturedOrder() {
|
||||
align-content: start;
|
||||
gap: 18px;
|
||||
overflow: auto;
|
||||
padding-right: 6px;
|
||||
padding-right: 0;
|
||||
overscroll-behavior: contain;
|
||||
scrollbar-width: none;
|
||||
-ms-overflow-style: none;
|
||||
}
|
||||
@@ -3880,23 +3918,23 @@ async function saveFeaturedOrder() {
|
||||
display: grid;
|
||||
gap: 18px;
|
||||
}
|
||||
.requestPreview__summary {
|
||||
.requestPreview__frame {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) 220px;
|
||||
gap: 16px;
|
||||
align-items: start;
|
||||
}
|
||||
.requestPreview__summaryBody {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
}
|
||||
.requestPreview__summaryThumb {
|
||||
width: 100%;
|
||||
aspect-ratio: 16 / 9;
|
||||
object-fit: cover;
|
||||
border-radius: 18px;
|
||||
gap: 26px;
|
||||
padding: 28px;
|
||||
border-radius: 24px;
|
||||
border: 1px solid var(--theme-border);
|
||||
background: var(--theme-surface-soft);
|
||||
background: color-mix(in srgb, var(--theme-main-bg) 92%, transparent);
|
||||
}
|
||||
.requestPreview__header {
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
}
|
||||
.requestPreview__heroTitle {
|
||||
font-size: clamp(30px, 3vw, 48px);
|
||||
line-height: 1.08;
|
||||
font-weight: 900;
|
||||
letter-spacing: -0.04em;
|
||||
}
|
||||
.requestPreview__meta {
|
||||
color: var(--theme-text-soft);
|
||||
@@ -3904,27 +3942,28 @@ async function saveFeaturedOrder() {
|
||||
}
|
||||
.requestPreview__desc {
|
||||
color: var(--theme-text-muted);
|
||||
line-height: 1.6;
|
||||
line-height: 1.7;
|
||||
white-space: pre-line;
|
||||
font-size: 15px;
|
||||
}
|
||||
.requestPreview__board,
|
||||
.requestPreview__pool {
|
||||
display: grid;
|
||||
gap: 12px;
|
||||
gap: 14px;
|
||||
}
|
||||
.requestPreview__boardHead,
|
||||
.requestPreview__row {
|
||||
display: grid;
|
||||
grid-template-columns: 92px minmax(0, 1fr);
|
||||
gap: 12px;
|
||||
grid-template-columns: 120px minmax(0, 1fr);
|
||||
gap: 16px;
|
||||
align-items: start;
|
||||
}
|
||||
.requestPreview__rowLabel,
|
||||
.requestPreview__poolLabel,
|
||||
.requestPreview__columnLabel {
|
||||
font-size: 13px;
|
||||
font-weight: 800;
|
||||
color: rgba(255, 255, 255, 0.86);
|
||||
font-size: 15px;
|
||||
font-weight: 900;
|
||||
color: var(--theme-text-strong);
|
||||
}
|
||||
.requestPreview__rowLabel--head {
|
||||
color: var(--theme-text-faint);
|
||||
@@ -3932,25 +3971,27 @@ async function saveFeaturedOrder() {
|
||||
.requestPreview__columnLabels,
|
||||
.requestPreview__cells {
|
||||
display: grid;
|
||||
gap: 12px;
|
||||
gap: 14px;
|
||||
}
|
||||
.requestPreview__columnLabel,
|
||||
.requestPreview__cell {
|
||||
min-width: 0;
|
||||
}
|
||||
.requestPreview__columnLabel {
|
||||
padding: 8px 4px;
|
||||
text-align: center;
|
||||
}
|
||||
.requestPreview__cell {
|
||||
padding: 10px;
|
||||
border-radius: 16px;
|
||||
min-height: 134px;
|
||||
padding: 14px;
|
||||
border-radius: 18px;
|
||||
border: 1px solid var(--theme-border);
|
||||
background: var(--theme-surface-soft);
|
||||
}
|
||||
.requestPreview__rowItems {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
|
||||
gap: 10px;
|
||||
}
|
||||
.requestPreview__rowItems--pool {
|
||||
grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
.requestPreview__rowItems--pool {
|
||||
grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
|
||||
@@ -3958,10 +3999,10 @@ async function saveFeaturedOrder() {
|
||||
.requestPreview__item {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
border-radius: 14px;
|
||||
border-radius: 16px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.12);
|
||||
background: var(--theme-surface-soft);
|
||||
min-height: 72px;
|
||||
min-height: 84px;
|
||||
}
|
||||
.requestPreview__item--muted {
|
||||
opacity: 0.52;
|
||||
@@ -4146,6 +4187,7 @@ async function saveFeaturedOrder() {
|
||||
padding: 20px;
|
||||
background: color-mix(in srgb, var(--theme-body-bg) 76%, transparent);
|
||||
backdrop-filter: blur(6px);
|
||||
overscroll-behavior: contain;
|
||||
}
|
||||
.modalCard {
|
||||
width: min(560px, 100%);
|
||||
|
||||
Reference in New Issue
Block a user