fix: 모바일 오른쪽 레일 스크롤과 프리뷰 카드 배치 보정

This commit is contained in:
2026-04-03 18:13:20 +09:00
parent 5ef833fde5
commit 947837fe40
4 changed files with 37 additions and 0 deletions

View File

@@ -146,6 +146,7 @@ const showSettingsThemePanel = computed(() => route.name === 'profile')
const showTopicViewToggle = computed(() => route.name === 'topicHub')
const topicViewMode = computed(() => (route.query.view === 'list' ? 'list' : 'grid'))
const showBackendFallback = computed(() => !isPreviewMode.value && ['maintenance', 'offline'].includes(backendState.value))
const shouldLockRightRailBodyScroll = computed(() => isRightRailOverlay.value && rightRailOpen.value && !showBackendFallback.value)
const leftBottomPrimaryAction = computed(() => {
if (!authReady.value) return null
if (route.name === 'home' && auth.user) {
@@ -296,6 +297,11 @@ function toggleTheme() {
applyTheme(isLightTheme.value ? 'dark' : 'light')
}
function syncRightRailBodyScrollLock(shouldLock) {
if (typeof document === 'undefined') return
document.body.style.overflow = shouldLock ? 'hidden' : ''
}
onMounted(async () => {
if (typeof window !== 'undefined') {
const savedTheme = window.localStorage.getItem('tier-maker:theme')
@@ -338,6 +344,7 @@ onBeforeUnmount(() => {
window.removeEventListener('resize', syncViewportWidth)
window.removeEventListener('keydown', handleGlobalKeydown)
}
syncRightRailBodyScrollLock(false)
})
watch(
@@ -383,6 +390,14 @@ watch(
{ immediate: true }
)
watch(
shouldLockRightRailBodyScroll,
(shouldLock) => {
syncRightRailBodyScrollLock(shouldLock)
},
{ immediate: true }
)
function isRouteActive(path) {
if (path === '/') return route.path === '/'
return route.path.startsWith(path)
@@ -2186,6 +2201,15 @@ function reloadApp() {
padding: 14px 20px calc(32px + env(safe-area-inset-bottom));
}
.rightRail--overlay .rightRail__content {
flex: 0 0 auto;
overflow: visible;
}
.rightRail--overlay .localRightRailRoot {
min-height: auto;
}
.collapsedSearchModal {
padding: 72px 16px 16px;
}

View File

@@ -3198,6 +3198,9 @@ onUnmounted(() => {
.previewOnly {
padding: 14px;
}
.viewerSidebar__section {
margin-top: 0;
}
.pool {
grid-template-columns: repeat(4, minmax(0, 1fr));
}