fix: 일정 목록 높이 자동 계산으로 잘림 문제 해결

- main을 flex flex-col로 변경
- 브레드크럼, 타이틀에 flex-shrink-0 추가
- 그리드에 flex-1 min-h-0 추가
- 일정 목록 컬럼에 flex flex-col min-h-0 추가
- 스크롤 컨테이너에서 max-h 고정값 제거하고 flex-1로 변경
This commit is contained in:
caadiq 2026-01-10 00:30:12 +09:00
parent 04ce4beba4
commit 97767bc5ca

View file

@ -597,9 +597,9 @@ function AdminSchedule() {
<AdminHeader user={user} /> <AdminHeader user={user} />
{/* 메인 콘텐츠 */} {/* 메인 콘텐츠 */}
<main className="flex-1 overflow-hidden max-w-7xl mx-auto px-6 py-8 w-full"> <main className="flex-1 flex flex-col overflow-hidden max-w-7xl mx-auto px-6 py-8 w-full">
{/* 브레드크럼 */} {/* 브레드크럼 */}
<div className="flex items-center gap-2 text-sm text-gray-400 mb-8"> <div className="flex-shrink-0 flex items-center gap-2 text-sm text-gray-400 mb-8">
<Link to="/admin/dashboard" className="hover:text-primary transition-colors"> <Link to="/admin/dashboard" className="hover:text-primary transition-colors">
<Home size={16} /> <Home size={16} />
</Link> </Link>
@ -608,7 +608,7 @@ function AdminSchedule() {
</div> </div>
{/* 타이틀 + 추가 버튼 */} {/* 타이틀 + 추가 버튼 */}
<div className="flex items-center justify-between mb-8"> <div className="flex-shrink-0 flex items-center justify-between mb-8">
<div> <div>
<h1 className="text-3xl font-bold text-gray-900 mb-2">일정 관리</h1> <h1 className="text-3xl font-bold text-gray-900 mb-2">일정 관리</h1>
<p className="text-gray-500">fromis_9의 일정을 관리합니다</p> <p className="text-gray-500">fromis_9의 일정을 관리합니다</p>
@ -631,7 +631,7 @@ function AdminSchedule() {
</div> </div>
</div> </div>
<div className="grid grid-cols-3 gap-8"> <div className="flex-1 min-h-0 grid grid-cols-3 gap-8">
{/* 왼쪽: 달력 + 카테고리 필터 */} {/* 왼쪽: 달력 + 카테고리 필터 */}
<div className="space-y-6"> <div className="space-y-6">
{/* 달력 (Schedule.jsx와 동일한 패턴) */} {/* 달력 (Schedule.jsx와 동일한 패턴) */}
@ -938,9 +938,9 @@ function AdminSchedule() {
</div> </div>
{/* 오른쪽: 일정 목록 */} {/* 오른쪽: 일정 목록 */}
<div className="col-span-2"> <div className="col-span-2 flex flex-col min-h-0">
{/* 일정 목록 */} {/* 일정 목록 */}
<div className="bg-white rounded-2xl shadow-sm overflow-hidden"> <div className="flex-1 flex flex-col min-h-0 bg-white rounded-2xl shadow-sm overflow-hidden">
<div className="p-5 border-b border-gray-100"> <div className="p-5 border-b border-gray-100">
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<AnimatePresence mode="wait"> <AnimatePresence mode="wait">
@ -1079,7 +1079,7 @@ function AdminSchedule() {
ref={scrollContainerRef} ref={scrollContainerRef}
onScroll={handleScroll} onScroll={handleScroll}
id="adminScheduleScrollContainer" id="adminScheduleScrollContainer"
className="max-h-[calc(100vh-280px)] overflow-y-auto divide-y divide-gray-100 py-2" className="flex-1 overflow-y-auto divide-y divide-gray-100 py-2"
> >
{isSearchMode && searchTerm ? ( {isSearchMode && searchTerm ? (
/* 검색 모드: useInView 기반 무한 스크롤 */ /* 검색 모드: useInView 기반 무한 스크롤 */