From fcee34030a3c05abd4c831d1041590838b89bfc4 Mon Sep 17 00:00:00 2001 From: seongwon seo Date: Mon, 31 Aug 2026 15:57:23 +0900 Subject: [PATCH] =?UTF-8?q?feat(club-detail):=20=EC=83=81=EC=84=B8=20?= =?UTF-8?q?=EA=B8=B0=EB=B3=B8=20=ED=83=AD=EC=9D=84=20=ED=99=9C=EB=8F=99?= =?UTF-8?q?=EC=82=AC=EC=A7=84=EC=9C=BC=EB=A1=9C=20=EB=B0=94=EA=BE=BC?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 체류시간 중앙값이 7초(3초 이하 30%, 10초 이하 60%)라 첫 화면이 판단을 좌우한다. 유저가 능동적으로 이동하는 탭도 활동사진이 3,451건으로 행사일정 1,471건의 2.3배다. 활동사진이 없는 동아리는 기존대로 소개내용으로 폴백하고, URL의 tab 파라미터 우선순위는 그대로 둔다. --- frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx b/frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx index 8f493e7a2..9f08e4437 100644 --- a/frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx +++ b/frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx @@ -59,12 +59,16 @@ const ClubDetailPage = () => { const hasCalendarConnection = clubDetail?.hasCalendarConnection ?? false; + const hasFeeds = (clubDetail?.feeds?.length ?? 0) > 0; + const activeTab: TabType = useMemo(() => { if (!tabParam || !Object.values(TAB_TYPE).includes(tabParam)) { - return TAB_TYPE.INTRO; + // 체류시간 중앙값이 7초라 첫 화면이 판단을 좌우한다. + // 유저가 스스로 이동하는 탭도 활동사진이 가장 많아 기본값으로 둔다. + return hasFeeds ? TAB_TYPE.PHOTOS : TAB_TYPE.INTRO; } return tabParam; - }, [tabParam]); + }, [tabParam, hasFeeds]); const { data: calendarEvents = [], isLoading: isCalendarLoading } = useGetClubCalendarEvents((clubName ?? clubId) || '', {