diff --git a/frontend/src/pages/mobile/schedule/ScheduleDetail.jsx b/frontend/src/pages/mobile/schedule/ScheduleDetail.jsx
index 91f999d..2a23863 100644
--- a/frontend/src/pages/mobile/schedule/ScheduleDetail.jsx
+++ b/frontend/src/pages/mobile/schedule/ScheduleDetail.jsx
@@ -110,33 +110,69 @@ function useFullscreenOrientation(isShorts) {
}, [isShorts]);
}
+/**
+ * Mobile 예정 일정 Placeholder 컴포넌트
+ */
+function MobileScheduledPlaceholder({ bannerUrl }) {
+ return (
+
+ {/* 배경: 배너 이미지 또는 패턴 */}
+ {bannerUrl ? (
+
+ ) : (
+
+ )}
+
+ {/* 하단 텍스트 */}
+
+
+ );
+}
+
/**
* Mobile 유튜브 섹션
*/
function MobileYoutubeSection({ schedule }) {
const videoId = schedule.videoId;
const isShorts = schedule.videoType === 'shorts';
+ const isScheduled = !videoId; // videoId가 없으면 예정 일정
// 숏츠가 아닐 때만 가로 회전 (숏츠는 전체화면에서 세로 유지)
useFullscreenOrientation(isShorts);
const members = schedule.members || [];
const isFullGroup = members.length === 5;
- if (!videoId) return null;
-
return (
- {/* 영상 임베드 - 숏츠도 가로 비율로 표시 (전체화면에서는 유튜브가 세로로 처리) */}
+ {/* 영상 임베드 또는 예정 Placeholder */}
-
-
-
+ {isScheduled ? (
+
+ ) : (
+
+
+
+ )}
{/* 영상 정보 */}
@@ -146,10 +182,17 @@ function MobileYoutubeSection({ schedule }) {
transition={{ delay: 0.2 }}
className="bg-gradient-to-br from-gray-100 to-gray-200/80 rounded-xl p-4"
>
-
{decodeHtmlEntities(schedule.title)}
+
+
{decodeHtmlEntities(schedule.title)}
+ {isScheduled && (
+
+ 예정
+
+ )}
+
{/* 메타 정보 */}
-
+
0 || !isScheduled ? 'mb-3' : ''}`}>
{formatXDateTimeWithTime(schedule.date, schedule.time)}
@@ -179,20 +222,22 @@ function MobileYoutubeSection({ schedule }) {
)}
- {/* 유튜브에서 보기 버튼 */}
-
+ {/* 유튜브에서 보기 버튼 (예정 일정이 아닐 때만) */}
+ {!isScheduled && (
+
+ )}
);