diff --git a/src/app/(root)/[teamid]/_domain/components/TaskList/TaskList.module.css b/src/app/(root)/[teamid]/_domain/components/TaskList/TaskList.module.css index 21da7d3..c1134bb 100644 --- a/src/app/(root)/[teamid]/_domain/components/TaskList/TaskList.module.css +++ b/src/app/(root)/[teamid]/_domain/components/TaskList/TaskList.module.css @@ -11,34 +11,6 @@ overflow-x: hidden; } -/* TeamHeader 패딩 wrapper (모바일/태블릿만) */ -.teamHeaderPad { - padding: 0; -} -@media (max-width: 1024px) { - .teamHeaderPad { - padding: 0 12px; - box-sizing: border-box; - } -} - -/* ✅ TeamHeader: PC에서만 가운데 정렬 */ -@media (min-width: 1025px) { - :global(.TeamHeader-module__H3kcRq__container) { - width: 100%; - max-width: 1200px; - margin-left: auto !important; - margin-right: auto !important; - } -} -@media (max-width: 1024px) { - :global(.TeamHeader-module__H3kcRq__container) { - margin-left: 0 !important; - margin-right: 0 !important; - max-width: none !important; - } -} - /* ===== Desktop Sidebar ===== */ .desktopSidebar { flex-shrink: 0; @@ -70,37 +42,10 @@ display: none; } -/* ✅ 1024px 이상에서는 데스크탑 Sidebar가 보이도록 강제 */ -@media (min-width: 1024px) and (max-width: 1199px) { - .desktopSidebar { - display: flex !important; - } - .mobileGnb { - display: none !important; - } - :global([class*='Sidebar-module__'][class*='sidebar']) { - display: flex !important; - } -} - -@media (max-width: 1023px) { - .desktopSidebar { - display: none; - } - .mobileGnb { - display: block; - position: fixed; - top: 0; - left: 0; - right: 0; - background: var(--color-background-inverse, #fff); - padding-top: env(safe-area-inset-top); - } -} - /* ===== Main contents ===== */ .mainContents { flex: 1; + margin-left: 27px; display: flex; justify-content: center; padding: 120px 85px 80px 0px; @@ -110,7 +55,7 @@ min-width: 0; } -@media (max-width: 1023px) { +@media (max-width: 1199px) { .mainContents { width: 100%; padding: 0; @@ -203,7 +148,7 @@ min-height: 768px; } -@media (min-width: 744px) and (max-width: 1024px) { +@media (min-width: 744px) and (max-width: 1199px) { .rightWrap { min-height: 800px; } @@ -289,7 +234,7 @@ position: absolute; z-index: 4; } -@media (min-width: 1025px) { +@media (min-width: 1200px) { .fab { top: 262px; right: -28px; @@ -297,7 +242,7 @@ left: auto; } } -@media (max-width: 1024px) { +@media (max-width: 1199px) { .fab { right: 14px; bottom: 21px; @@ -318,7 +263,7 @@ } /* ✅ 모바일/태블릿: 투두카드 폭 고정 */ -@media (max-width: 1024px) { +@media (max-width: 1199px) { .mobileTodoRow { display: flex !important; align-items: center !important; @@ -348,7 +293,7 @@ } } -@media (min-width: 744px) and (max-width: 1024px) { +@media (min-width: 744px) and (max-width: 1199px) { .todoCardWrap { width: 240px !important; flex: 0 0 240px !important; @@ -357,7 +302,7 @@ } } -@media (max-width: 1024px) { +@media (max-width: 1199px) { .todoCardShell, .todoCardShellInner { width: 100% !important; @@ -404,10 +349,10 @@ } /* Tablet/Mobile */ -@media (max-width: 1024px) { +@media (max-width: 1199px) { .stage { width: 100%; - max-width: 1024px; + max-width: 1199px; margin-top: 32px; } @@ -444,7 +389,7 @@ .rightWrap { width: 100%; - max-width: 1024px; + max-width: none; flex: 0 0 auto; background: #ffffff; border-radius: 0; @@ -488,7 +433,7 @@ display: none; } -@media (max-width: 1024px) { +@media (max-width: 1199px) { .todoArrowBtn { display: inline-flex; align-items: center; @@ -696,7 +641,7 @@ } /* ✅ 모바일/태블릿: 애니메이션 제거 + 전체 화면 */ -@media (max-width: 1024px) { +@media (max-width: 1199px) { .detailOverlay { left: 0; right: 0; @@ -723,7 +668,7 @@ } } -@media (max-width: 1024px) { +@media (max-width: 1199px) { .taskMenu { top: 52px !important; right: 0px !important; @@ -804,7 +749,7 @@ } /* ===== 모바일/태블릿: 팀선택(hover) 시 내용이 박스 밖으로 튀는 문제 방지 ===== */ -@media (max-width: 1024px) { +@media (max-width: 1199px) { :global([class*='SidebarTeamSelect-module__'] *), :global([class*='SidebarButton-module__'] *), :global([class*='SidebarAddButton-module__'] *) { @@ -841,7 +786,7 @@ } /* ✅ 모바일/태블릿: 케밥 "버튼은 유지", 아이콘만 숨김 (드롭다운은 클릭으로 뜸) */ -@media (max-width: 1024px) { +@media (max-width: 1199px) { /* TodoCard / TaskListItem 케밥 버튼 내부의 svg/img만 투명 */ :global([class*='TodoCard-module__'] svg), :global([class*='TodoCard-module__'] img), diff --git a/src/app/(root)/[teamid]/_domain/components/TaskList/queries.ts b/src/app/(root)/[teamid]/_domain/components/TaskList/queries.ts index 3ea80f1..bfde58b 100644 --- a/src/app/(root)/[teamid]/_domain/components/TaskList/queries.ts +++ b/src/app/(root)/[teamid]/_domain/components/TaskList/queries.ts @@ -47,7 +47,12 @@ async function fetchJson( const method = (init?.method ?? 'GET').toUpperCase(); const isBodyless = method === 'GET' || method === 'HEAD' || method === 'DELETE'; - const res = await fetch(proxy(withTeam(teamId, path)), { + const url = + path === 'user' + ? proxy(path) // ✅ user는 teamId 없이 + : proxy(withTeam(teamId, path)); + + const res = await fetch(url, { ...init, method, body: isBodyless ? undefined : init?.body, diff --git a/src/app/(root)/[teamid]/_domain/components/Team/TeamNavClient.module.css b/src/app/(root)/[teamid]/_domain/components/Team/TeamNavClient.module.css index 9255828..8245c3c 100644 --- a/src/app/(root)/[teamid]/_domain/components/Team/TeamNavClient.module.css +++ b/src/app/(root)/[teamid]/_domain/components/Team/TeamNavClient.module.css @@ -7,7 +7,7 @@ } /* 태블릿 */ -@media (min-width: 768px) and (max-width: 1279px) { +@media (min-width: 768px) and (max-width: 1200px) { .tabletWrapper { display: block; } diff --git a/src/app/(root)/[teamid]/page.module.css b/src/app/(root)/[teamid]/page.module.css index 6ea7c63..8cdbc02 100644 --- a/src/app/(root)/[teamid]/page.module.css +++ b/src/app/(root)/[teamid]/page.module.css @@ -31,7 +31,7 @@ flex-shrink: 0; } /* Tablet styles */ -@media (min-width: 768px) and (max-width: 1279px) { +@media (min-width: 768px) and (max-width: 1200px) { .page { flex-direction: column; } @@ -71,7 +71,7 @@ } /* Tablet specific rules for kanbanResponsiveContainer */ -@media (min-width: 768px) and (max-width: 1279px) { +@media (min-width: 768px) and (max-width: 1200px) { .kanbanResponsiveContainer { flex-wrap: nowrap; /* Prevent wrapping on tablet */ justify-content: space-between; /* Distribute items evenly */ diff --git a/src/app/(root)/layout.tsx b/src/app/(root)/layout.tsx index 9ce682c..5ea91cd 100644 --- a/src/app/(root)/layout.tsx +++ b/src/app/(root)/layout.tsx @@ -20,7 +20,7 @@ export default function RootLayout({ children }: { children: React.ReactNode }) const isLanding = pathname === '/'; // 자체 사이드바가 없는 페이지에서만 root layout 사이드바 표시 - const rootSidebarPaths = ['/', '/boards', '/mypage']; + const rootSidebarPaths = ['/', '/boards', '/mypage', '/myhistory']; const showRootSidebar = rootSidebarPaths.some( (p) => pathname === p || pathname.startsWith(p + '/'), ); diff --git a/src/components/team-header/TeamHeader.module.css b/src/components/team-header/TeamHeader.module.css index 0210d28..b0f6497 100644 --- a/src/components/team-header/TeamHeader.module.css +++ b/src/components/team-header/TeamHeader.module.css @@ -1,7 +1,6 @@ .container { position: relative; overflow: hidden; - height: 64px; width: 1120px; max-width: 100%; @@ -156,13 +155,16 @@ line-height: 1; } -@media (min-width: 1024px) { +@media (min-width: 1200px) { .patternWrap { display: block; } + .container[data-variant='list'] { + margin: 0 auto; + } } -@media (min-width: 744px) and (max-width: 1023px) { +@media (min-width: 744px) and (max-width: 1199px) { .container[data-variant='team'] .teamLeftGroup { height: 32px; max-width: 203px;