fix(travel): AlbumDetail 스크롤 안 되는 문제 수정 — SwipeableView 높이 체인 + PAGE_SIZE 40
SwipeableView가 fixed overlay 안에서 flex 높이를 채우지 못해 스크롤 불가 + IntersectionObserver 미동작. scoped CSS로 높이 체인 복원, PAGE_SIZE 20→40으로 증가. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -95,8 +95,6 @@
|
|||||||
|
|
||||||
/* ── Body ── */
|
/* ── Body ── */
|
||||||
.album-detail__body {
|
.album-detail__body {
|
||||||
flex: 1;
|
|
||||||
overflow-y: auto;
|
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
padding-bottom: env(safe-area-inset-bottom, 0);
|
padding-bottom: env(safe-area-inset-bottom, 0);
|
||||||
}
|
}
|
||||||
@@ -155,6 +153,26 @@
|
|||||||
color: var(--tv-dim, rgba(232, 221, 208, 0.25));
|
color: var(--tv-dim, rgba(232, 221, 208, 0.25));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── SwipeableView height chain fix ──
|
||||||
|
AlbumDetail is a fixed flex-column overlay.
|
||||||
|
SwipeableView must fill the remaining space so its panel can scroll. */
|
||||||
|
.album-detail .swipeable-view {
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.album-detail .swipeable-view__track {
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.album-detail .swipeable-view__panel {
|
||||||
|
height: 100%;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
/* ── Mobile ── */
|
/* ── Mobile ── */
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.album-detail__header {
|
.album-detail__header {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { useCallback, useEffect, useRef, useState } from 'react';
|
|||||||
/* ─────────────────────────────────────────────
|
/* ─────────────────────────────────────────────
|
||||||
Constants
|
Constants
|
||||||
───────────────────────────────────────────── */
|
───────────────────────────────────────────── */
|
||||||
const PAGE_SIZE = 20;
|
const PAGE_SIZE = 40;
|
||||||
const CACHE_TTL_MS = 10 * 60 * 1000; // 10 minutes
|
const CACHE_TTL_MS = 10 * 60 * 1000; // 10 minutes
|
||||||
|
|
||||||
/* ─────────────────────────────────────────────
|
/* ─────────────────────────────────────────────
|
||||||
|
|||||||
Reference in New Issue
Block a user