릴리스: v1.4.36 프리뷰 레일과 복사 흐름 정리

This commit is contained in:
2026-04-03 01:09:20 +09:00
parent 5eb08e1757
commit 2107223634
5 changed files with 70 additions and 2 deletions

View File

@@ -452,7 +452,21 @@ function reloadApp() {
</template>
<template v-else-if="isPreviewMode">
<main class="appMain appMain--preview">
<RouterView />
<div class="previewShell">
<div class="previewShell__main">
<RouterView />
</div>
<aside class="previewShell__rail">
<div class="previewShell__railInner">
<RightRailAd class-name="previewShell__ad" />
</div>
<div class="previewShell__footer">
<span>Copyright © 2026 </span>
<a :href="RIGHT_RAIL_COPYRIGHT_URL" target="_blank" rel="noreferrer">zenn</a>
<span>. All rights reserved.</span>
</div>
</aside>
</div>
</main>
</template>
<template v-else>
@@ -1224,6 +1238,43 @@ function reloadApp() {
padding: 0;
}
.previewShell {
min-height: 100dvh;
display: grid;
grid-template-columns: minmax(0, 1fr) 325px;
}
.previewShell__main {
min-width: 0;
}
.previewShell__rail {
min-width: 0;
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 20px;
padding: 16px 18px 20px;
border-left: 1px solid var(--theme-border);
background: var(--theme-rail-bg);
}
.previewShell__railInner {
display: grid;
gap: 16px;
}
.previewShell__footer {
font-size: 10px;
line-height: 1.5;
color: var(--theme-text-faint);
}
.previewShell__footer a {
color: #00ffff;
text-decoration: none;
}
.workspace {
display: grid;
grid-template-rows: 56px minmax(0, 1fr);
@@ -1835,6 +1886,14 @@ function reloadApp() {
}
@media (max-width: 1200px) {
.previewShell {
grid-template-columns: 1fr;
}
.previewShell__rail {
display: none;
}
.guideModal__dialog {
grid-template-columns: 1fr;
height: min(860px, calc(100dvh - 40px));

View File

@@ -114,7 +114,7 @@ const untitledWarning = computed(
'제목 없이 저장된 티어표는 무분별한 도배 방지를 위해 관리자에 의해 임의 삭제될 수 있어요.'
)
const canFavorite = computed(() => !!auth.user && !isNewTierList.value && !canEdit.value)
const canDuplicate = computed(() => !!auth.user && !isNewTierList.value && !canEdit.value)
const canDuplicate = computed(() => !!auth.user && hasSavedTierList.value)
const copiedFromLabel = computed(() => {
if (!sourceTierListId.value) return ''
const parts = []