From 6005c33bab2c6a2bc4b5db584a55b8595a70297d Mon Sep 17 00:00:00 2001 From: JIN921 Date: Tue, 26 May 2026 13:08:23 +0900 Subject: [PATCH 1/8] =?UTF-8?q?fix:=20=EC=9D=BC=EC=A0=95=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20=EB=B0=98=EC=9D=91=ED=98=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/settings.local.json | 4 +++- .../admin/schedule/general/ScheduleItem.tsx | 4 ++-- .../schedule/general/SchedulePageContent.tsx | 17 +++++++++++------ .../schedule/session/SessionTabContent.tsx | 4 ++-- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 3b8574d8..c0e6a807 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -12,7 +12,9 @@ "mcp__Claude_in_Chrome__tabs_context_mcp", "Bash(export PATH=\"C:/Users/wlslw/AppData/Local/Temp/poppler_extracted/poppler-24.08.0/Library/bin:$PATH\")", "Bash(pdftoppm -v)", - "Bash(\"C:/Users/wlslw/AppData/Local/Temp/poppler_extracted/poppler-24.08.0/Library/bin/pdftotext.exe\" \"C:/Users/wlslw/Downloads/이유진_포트폴리오_인턴추가버전.pdf\" \"C:/Users/wlslw/AppData/Local/Temp/portfolio.txt\")" + "Bash(\"C:/Users/wlslw/AppData/Local/Temp/poppler_extracted/poppler-24.08.0/Library/bin/pdftotext.exe\" \"C:/Users/wlslw/Downloads/이유진_포트폴리오_인턴추가버전.pdf\" \"C:/Users/wlslw/AppData/Local/Temp/portfolio.txt\")", + "PowerShell(Get-ChildItem -Path \"D:\\\\project\\\\weeth-client\\\\src\\\\app\" | ForEach-Object { $_.Name })", + "PowerShell(Get-Process | Group-Object Name | Select-Object Name, Count, @{N='TotalMem\\(MB\\)';E={[math]::Round\\(\\(\\($_.Group | Measure-Object WorkingSet64 -Sum\\).Sum\\)/1MB,0\\)}} | Sort-Object 'TotalMem\\(MB\\)' -Descending | Select-Object -First 15 | Format-Table -AutoSize; $os = Get-CimInstance Win32_OperatingSystem; \"Total: {0}MB / Free: {1}MB\" -f [math]::Round\\($os.TotalVisibleMemorySize/1KB,0\\), [math]::Round\\($os.FreePhysicalMemory/1KB,0\\))" ] } } diff --git a/src/components/admin/schedule/general/ScheduleItem.tsx b/src/components/admin/schedule/general/ScheduleItem.tsx index a9699c07..facb750c 100644 --- a/src/components/admin/schedule/general/ScheduleItem.tsx +++ b/src/components/admin/schedule/general/ScheduleItem.tsx @@ -27,7 +27,7 @@ function ScheduleItem({ return (
{/* Action buttons */} -
+
diff --git a/src/components/admin/schedule/general/SchedulePageContent.tsx b/src/components/admin/schedule/general/SchedulePageContent.tsx index 3edc5c9e..c59f60b1 100644 --- a/src/components/admin/schedule/general/SchedulePageContent.tsx +++ b/src/components/admin/schedule/general/SchedulePageContent.tsx @@ -99,7 +99,7 @@ function SchedulePageContent() { }; return ( -
+
세션 - - + + {/* Month navigator */} {/* Search bar + Create button */} -
-
+
+
검색
- diff --git a/src/components/admin/schedule/session/SessionTabContent.tsx b/src/components/admin/schedule/session/SessionTabContent.tsx index 825ed7d1..80a63dc9 100644 --- a/src/components/admin/schedule/session/SessionTabContent.tsx +++ b/src/components/admin/schedule/session/SessionTabContent.tsx @@ -65,7 +65,7 @@ function SessionTabContent({ {/* 세션 카드 */}
{/* 카드 헤더 */} -
+
세션
{/* 카드 body */} -
+
Date: Tue, 26 May 2026 13:21:25 +0900 Subject: [PATCH 2/8] =?UTF-8?q?fix:=20LNB=20=EB=AA=A8=EB=B0=94=EC=9D=BC=20?= =?UTF-8?q?=EA=B8=B0=EB=B3=B8=20=EB=AA=A8=EB=93=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/admin/layout/LNB.tsx | 10 ++++++++- .../schedule/general/SchedulePageContent.tsx | 10 ++++----- src/hooks/index.ts | 1 + src/hooks/useMediaQuery.ts | 22 +++++++++++++++++++ 4 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 src/hooks/useMediaQuery.ts diff --git a/src/components/admin/layout/LNB.tsx b/src/components/admin/layout/LNB.tsx index 45c1ee97..0a4dc375 100644 --- a/src/components/admin/layout/LNB.tsx +++ b/src/components/admin/layout/LNB.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { useParams, usePathname, useRouter } from 'next/navigation'; import { AdminForumIcon, AdminCalendarIcon, AdminSettingIcon } from '@/assets/icons/admin'; import { CheckRoundIcon, ExitIcon, PeopleIcon } from '@/assets/icons'; @@ -11,6 +11,7 @@ import { AlertDialogCancel, TooltipProvider, } from '@/components/ui'; +import { useMediaQuery } from '@/hooks'; import { cn } from '@/lib/cn'; import { LNBHeader } from '@/components/admin/layout/LNBHeader'; import { LNBClubInfo } from '@/components/admin/layout/LNBClubInfo'; @@ -23,9 +24,16 @@ function LNB() { const pathname = usePathname(); const router = useRouter(); const { clubId } = useParams<{ clubId: string }>(); + // tablet(696px) 미만에서는 기본적으로 접힌 상태로 시작 + const isBelowTablet = useMediaQuery('(max-width: 695.98px)'); const [collapsed, setCollapsed] = useState(false); const [serviceDialogOpen, setServiceDialogOpen] = useState(false); + // 브레이크포인트를 넘나들 때 기본 접힘 상태를 동기화 + useEffect(() => { + setCollapsed(isBelowTablet); + }, [isBelowTablet]); + const servicePath = `/${clubId}/home`; const managementNavItems = [ diff --git a/src/components/admin/schedule/general/SchedulePageContent.tsx b/src/components/admin/schedule/general/SchedulePageContent.tsx index c59f60b1..2bb70d4d 100644 --- a/src/components/admin/schedule/general/SchedulePageContent.tsx +++ b/src/components/admin/schedule/general/SchedulePageContent.tsx @@ -99,7 +99,7 @@ function SchedulePageContent() { }; return ( -
+
- + {/* Month navigator */} {/* Search bar + Create button */} -
-
+
+
검색 openCreateModal('EVENT')} > diff --git a/src/hooks/index.ts b/src/hooks/index.ts index aa0fde27..8e0ea396 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -23,3 +23,4 @@ export { useImageDrop } from './useImageDrop'; export { useProgressAnimation } from './useProgressAnimation'; export { useCodeHighlight } from './useCodeHighlight'; export { useMonthNavigator } from './useMonthNavigator'; +export { useMediaQuery } from './useMediaQuery'; diff --git a/src/hooks/useMediaQuery.ts b/src/hooks/useMediaQuery.ts new file mode 100644 index 00000000..57c8bf54 --- /dev/null +++ b/src/hooks/useMediaQuery.ts @@ -0,0 +1,22 @@ +'use client'; + +import { useSyncExternalStore } from 'react'; + +/** + * CSS 미디어 쿼리의 매치 여부를 구독한다. + * SSR 시에는 항상 false를 반환하고, 마운트 후 실제 값으로 동기화되어 하이드레이션 불일치를 피한다. + */ +function useMediaQuery(query: string): boolean { + const subscribe = (callback: () => void) => { + const mql = window.matchMedia(query); + mql.addEventListener('change', callback); + return () => mql.removeEventListener('change', callback); + }; + + const getSnapshot = () => window.matchMedia(query).matches; + const getServerSnapshot = () => false; + + return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); +} + +export { useMediaQuery }; From 6de808279696b995e846899e1b2c2ea3f017cb07 Mon Sep 17 00:00:00 2001 From: JIN921 Date: Tue, 26 May 2026 13:39:38 +0900 Subject: [PATCH 3/8] =?UTF-8?q?fix:=20=EC=8A=A4=EC=BC=80=EC=A4=84=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=B5=9C=EC=86=8C=20=EB=84=88?= =?UTF-8?q?=EB=B9=84=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/admin/schedule/general/ScheduleItem.tsx | 2 +- src/components/admin/schedule/general/SchedulePageContent.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/admin/schedule/general/ScheduleItem.tsx b/src/components/admin/schedule/general/ScheduleItem.tsx index facb750c..95d67872 100644 --- a/src/components/admin/schedule/general/ScheduleItem.tsx +++ b/src/components/admin/schedule/general/ScheduleItem.tsx @@ -40,7 +40,7 @@ function ScheduleItem({
{/* Content column */} -
+
{schedule.title}
{SCHEDULE_TYPE_LABEL[schedule.type]} diff --git a/src/components/admin/schedule/general/SchedulePageContent.tsx b/src/components/admin/schedule/general/SchedulePageContent.tsx index 2bb70d4d..3963ff5c 100644 --- a/src/components/admin/schedule/general/SchedulePageContent.tsx +++ b/src/components/admin/schedule/general/SchedulePageContent.tsx @@ -115,7 +115,7 @@ function SchedulePageContent() { - + {/* Month navigator */} Date: Tue, 26 May 2026 14:59:46 +0900 Subject: [PATCH 4/8] =?UTF-8?q?fix:=20=EC=8A=A4=EC=BC=80=EC=A4=84=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=AC=20=EC=B5=9C=EC=86=8C=EB=84=88=EB=B9=84=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/admin/schedule/modal/CreateScheduleModal.tsx | 2 +- src/components/admin/schedule/modal/EditModalShell.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/admin/schedule/modal/CreateScheduleModal.tsx b/src/components/admin/schedule/modal/CreateScheduleModal.tsx index 368b6e2d..a2f2b253 100644 --- a/src/components/admin/schedule/modal/CreateScheduleModal.tsx +++ b/src/components/admin/schedule/modal/CreateScheduleModal.tsx @@ -31,7 +31,7 @@ function CreateScheduleModal({ return ( {/* Header with tabs */} diff --git a/src/components/admin/schedule/modal/EditModalShell.tsx b/src/components/admin/schedule/modal/EditModalShell.tsx index 7da5a1b2..449044c5 100644 --- a/src/components/admin/schedule/modal/EditModalShell.tsx +++ b/src/components/admin/schedule/modal/EditModalShell.tsx @@ -44,7 +44,7 @@ function EditModalShell({ }} > { if (hasChangesRef.current) e.preventDefault(); From 996f240589d82990ff32492ff8360dd19d3c1052 Mon Sep 17 00:00:00 2001 From: JIN921 Date: Wed, 27 May 2026 12:02:45 +0900 Subject: [PATCH 5/8] =?UTF-8?q?fix:=20=EC=8A=A4=EC=BC=80=EC=A4=84=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=AC=20=EB=AA=A8=EB=B0=94=EC=9D=BC=20=EB=B0=98?= =?UTF-8?q?=EC=9D=91=ED=98=95=20=EB=B0=8F=20=EC=8A=A4=ED=81=AC=EB=A1=A4=20?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- .../admin/schedule/modal/CreateGeneralScheduleForm.tsx | 5 +++-- .../admin/schedule/modal/CreateScheduleModal.tsx | 4 +++- .../admin/schedule/modal/CreateSessionScheduleForm.tsx | 5 +++-- src/components/admin/schedule/modal/EditModalShell.tsx | 4 +++- .../admin/schedule/modal/EditScheduleModal.tsx | 5 +++-- src/components/admin/schedule/modal/constants.ts | 5 +++++ src/components/ui/dialog.tsx | 10 ++++------ 7 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 src/components/admin/schedule/modal/constants.ts diff --git a/src/components/admin/schedule/modal/CreateGeneralScheduleForm.tsx b/src/components/admin/schedule/modal/CreateGeneralScheduleForm.tsx index fdaa3848..3e737a9f 100644 --- a/src/components/admin/schedule/modal/CreateGeneralScheduleForm.tsx +++ b/src/components/admin/schedule/modal/CreateGeneralScheduleForm.tsx @@ -12,6 +12,7 @@ import { isScheduleTitleValid, } from '@/utils/admin/scheduleFormUtils'; +import { SCHEDULE_MODAL_FOOTER_CLASS } from './constants'; import { isDateRangeValid, type ScheduleFormState } from './types'; const INITIAL_FORM: ScheduleFormState = { @@ -60,7 +61,7 @@ function CreateGeneralScheduleForm({ cardinalNumber, onClose }: CreateGeneralSch return ( <> -
+

일정 생성

-
+
diff --git a/src/components/admin/schedule/modal/CreateScheduleModal.tsx b/src/components/admin/schedule/modal/CreateScheduleModal.tsx index a2f2b253..186e57aa 100644 --- a/src/components/admin/schedule/modal/CreateScheduleModal.tsx +++ b/src/components/admin/schedule/modal/CreateScheduleModal.tsx @@ -5,6 +5,7 @@ import { Dialog, DialogContent } from '@/components/ui/dialog'; import { AdminCloseIcon } from '@/assets/icons/admin'; import { CreateGeneralScheduleForm } from '@/components/admin/schedule/modal/CreateGeneralScheduleForm'; import { CreateSessionScheduleForm } from '@/components/admin/schedule/modal/CreateSessionScheduleForm'; +import { SCHEDULE_MODAL_CONTENT_CLASS } from '@/components/admin/schedule/modal/constants'; import { SCHEDULE_TYPE_LABEL } from '@/constants/admin/schedule.constants'; import type { ScheduleType } from '@/types/admin/schedule'; import type { CreateSessionBody } from '@/types/admin/session'; @@ -31,8 +32,9 @@ function CreateScheduleModal({ return ( {/* Header with tabs */}
diff --git a/src/components/admin/schedule/modal/CreateSessionScheduleForm.tsx b/src/components/admin/schedule/modal/CreateSessionScheduleForm.tsx index 3da7c139..930cfcd3 100644 --- a/src/components/admin/schedule/modal/CreateSessionScheduleForm.tsx +++ b/src/components/admin/schedule/modal/CreateSessionScheduleForm.tsx @@ -10,6 +10,7 @@ import type { CreateSessionBody } from '@/types/admin/session'; import { isScheduleTitleValid } from '@/utils/admin/scheduleFormUtils'; +import { SCHEDULE_MODAL_FOOTER_CLASS } from './constants'; import { isDateRangeValid, type ScheduleFormState, type SessionFormState } from './types'; const INITIAL_FORM: ScheduleFormState = { @@ -104,7 +105,7 @@ function CreateSessionScheduleForm({ onCreateSession, onClose }: CreateSessionSc return ( <> -
+

세션 생성

-
+
diff --git a/src/components/admin/schedule/modal/EditModalShell.tsx b/src/components/admin/schedule/modal/EditModalShell.tsx index 449044c5..50ba9d3f 100644 --- a/src/components/admin/schedule/modal/EditModalShell.tsx +++ b/src/components/admin/schedule/modal/EditModalShell.tsx @@ -4,6 +4,7 @@ import { Suspense } from 'react'; import type { ReactNode, RefObject } from 'react'; import { Dialog, DialogContent } from '@/components/ui/dialog'; +import { SCHEDULE_MODAL_CONTENT_CLASS } from '@/components/admin/schedule/modal/constants'; interface EditModalShellProps { open: boolean; @@ -44,8 +45,9 @@ function EditModalShell({ }} > { if (hasChangesRef.current) e.preventDefault(); }} diff --git a/src/components/admin/schedule/modal/EditScheduleModal.tsx b/src/components/admin/schedule/modal/EditScheduleModal.tsx index 8a4ac5bb..0575130b 100644 --- a/src/components/admin/schedule/modal/EditScheduleModal.tsx +++ b/src/components/admin/schedule/modal/EditScheduleModal.tsx @@ -26,6 +26,7 @@ import { toInitialScheduleForm, } from '@/utils/admin/scheduleFormUtils'; +import { SCHEDULE_MODAL_FOOTER_CLASS } from './constants'; import { DiscardConfirmArea } from './DiscardConfirmArea'; import { EditModalShell } from './EditModalShell'; import { ScheduleFormBody } from './ScheduleFormBody'; @@ -207,7 +208,7 @@ function EditScheduleModalContent({
{/* Body */} -
+

일반 일정 수정

{/* Footer */} -
+
) { @@ -52,10 +51,13 @@ function DialogContent({ overlayClassName, children, showCloseButton = true, + adminMobileFullscreen = true, ...props }: React.ComponentProps & { showCloseButton?: boolean; overlayClassName?: string; + /** admin 스코프에서 tablet 미만일 때 전체화면으로 전환할지 여부 (기본 true) */ + adminMobileFullscreen?: boolean; }) { const isAdminScope = useIsAdminScope(); @@ -68,17 +70,13 @@ function DialogContent({ className={cn( 'bg-container-neutral data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-[80] grid w-78.75 max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-lg border p-400 shadow-lg duration-200 outline-none sm:max-w-lg', isAdminScope && + adminMobileFullscreen && 'max-tablet:inset-0 max-tablet:top-0 max-tablet:left-0 max-tablet:h-screen max-tablet:w-screen max-tablet:max-w-none max-tablet:translate-x-0 max-tablet:translate-y-0 max-tablet:rounded-none max-tablet:border-0 max-tablet:p-0', className, )} {...props} > {children} - {/* {isAdminScope ? ( - {children} - ) : ( - children - )} */} {showCloseButton && ( Date: Wed, 27 May 2026 12:13:21 +0900 Subject: [PATCH 6/8] =?UTF-8?q?chore:=20.claude/settings.local.json=20?= =?UTF-8?q?=EC=B6=94=EC=A0=81=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- .claude/settings.local.json | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 .claude/settings.local.json diff --git a/.claude/settings.local.json b/.claude/settings.local.json deleted file mode 100644 index c0e6a807..00000000 --- a/.claude/settings.local.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "permissions": { - "allow": [ - "Bash(gh pr:*)", - "Bash(gh run:*)", - "Bash(git push:*)", - "Bash(git fetch:*)", - "mcp__figma__get_design_context", - "mcp__figma__get_screenshot", - "Bash(gh pr *)", - "Read(//c/Users/wlslw/.claude/projects/**)", - "mcp__Claude_in_Chrome__tabs_context_mcp", - "Bash(export PATH=\"C:/Users/wlslw/AppData/Local/Temp/poppler_extracted/poppler-24.08.0/Library/bin:$PATH\")", - "Bash(pdftoppm -v)", - "Bash(\"C:/Users/wlslw/AppData/Local/Temp/poppler_extracted/poppler-24.08.0/Library/bin/pdftotext.exe\" \"C:/Users/wlslw/Downloads/이유진_포트폴리오_인턴추가버전.pdf\" \"C:/Users/wlslw/AppData/Local/Temp/portfolio.txt\")", - "PowerShell(Get-ChildItem -Path \"D:\\\\project\\\\weeth-client\\\\src\\\\app\" | ForEach-Object { $_.Name })", - "PowerShell(Get-Process | Group-Object Name | Select-Object Name, Count, @{N='TotalMem\\(MB\\)';E={[math]::Round\\(\\(\\($_.Group | Measure-Object WorkingSet64 -Sum\\).Sum\\)/1MB,0\\)}} | Sort-Object 'TotalMem\\(MB\\)' -Descending | Select-Object -First 15 | Format-Table -AutoSize; $os = Get-CimInstance Win32_OperatingSystem; \"Total: {0}MB / Free: {1}MB\" -f [math]::Round\\($os.TotalVisibleMemorySize/1KB,0\\), [math]::Round\\($os.FreePhysicalMemory/1KB,0\\))" - ] - } -} From 347e4efb312206d69feb7c8c6d44cc4d9f5c9bd7 Mon Sep 17 00:00:00 2001 From: JIN921 Date: Wed, 27 May 2026 12:13:43 +0900 Subject: [PATCH 7/8] =?UTF-8?q?chore:=20.gitignore=20=EC=A4=91=EB=B3=B5=20?= =?UTF-8?q?=ED=95=AD=EB=AA=A9=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- .gitignore | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6cbea637..93c7aafd 100644 --- a/.gitignore +++ b/.gitignore @@ -10,9 +10,6 @@ !.yarn/releases !.yarn/versions - -.claude/settings.local.json - # testing /coverage From f8fcff48e49e76d13485fed3ec2a12d2f587e8bc Mon Sep 17 00:00:00 2001 From: JIN921 Date: Sat, 30 May 2026 11:57:29 +0900 Subject: [PATCH 8/8] =?UTF-8?q?fix:=20=ED=94=84=EB=A6=AC=ED=8B=B0=EC=96=B4?= =?UTF-8?q?=20=ED=8F=AC=EB=A9=A7=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/admin/schedule/general/ScheduleItem.tsx | 4 ++-- src/components/admin/schedule/session/SessionTabContent.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/admin/schedule/general/ScheduleItem.tsx b/src/components/admin/schedule/general/ScheduleItem.tsx index 95d67872..d8f77ef1 100644 --- a/src/components/admin/schedule/general/ScheduleItem.tsx +++ b/src/components/admin/schedule/general/ScheduleItem.tsx @@ -27,7 +27,7 @@ function ScheduleItem({ return (
{/* Action buttons */} -
+
diff --git a/src/components/admin/schedule/session/SessionTabContent.tsx b/src/components/admin/schedule/session/SessionTabContent.tsx index 80a63dc9..18842933 100644 --- a/src/components/admin/schedule/session/SessionTabContent.tsx +++ b/src/components/admin/schedule/session/SessionTabContent.tsx @@ -65,7 +65,7 @@ function SessionTabContent({ {/* 세션 카드 */}
{/* 카드 헤더 */} -
+
세션
{/* 카드 body */} -
+