From c0e6987c3caa68101576fc3e8bb2ae4255fea52a Mon Sep 17 00:00:00 2001 From: Mina Choi Date: Fri, 10 Jul 2026 15:58:13 +0900 Subject: [PATCH] =?UTF-8?q?[fix]=20negodata/front:=20=ED=86=B5=EA=B3=84=20?= =?UTF-8?q?=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC=EB=B3=84=20=EC=A0=88?= =?UTF-8?q?=EA=B0=90=20=EC=B0=A8=ED=8A=B8=20->=20=EC=86=90=ED=95=B4(?= =?UTF-8?q?=EC=9D=8C=EC=88=98)=EB=8A=94=20=EC=95=88=EB=B3=B4=EC=9D=B4?= =?UTF-8?q?=EA=B2=8C,=20=EB=8C=80=EC=8B=9C=EB=B3=B4=EB=93=9C=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EC=9D=BC=EB=B0=98=EA=B4=80=EB=A6=AC=EC=9E=90?= =?UTF-8?q?=EB=8F=84=20=ED=9A=8C=EC=82=AC=20=ED=86=B5=EA=B3=84=20=EB=B3=B4?= =?UTF-8?q?=EC=9D=B4=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/features/statistics/components/CategoryChart.tsx | 3 ++- negodata/front/src/pages/dashboard.tsx | 7 ++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/negodata/front/src/features/statistics/components/CategoryChart.tsx b/negodata/front/src/features/statistics/components/CategoryChart.tsx index 5875429..911245f 100644 --- a/negodata/front/src/features/statistics/components/CategoryChart.tsx +++ b/negodata/front/src/features/statistics/components/CategoryChart.tsx @@ -10,7 +10,8 @@ const config = { } satisfies ChartConfig; export function CategoryChart({ data }: { data: CategorySaving[] }) { - const rows = [...data].sort((a, b) => b.savings - a.savings); + // 절감 차트 — 순절감이 음수(손해)인 카테고리는 표시하지 않는다. + const rows = data.filter((r) => r.savings > 0).sort((a, b) => b.savings - a.savings); return ( diff --git a/negodata/front/src/pages/dashboard.tsx b/negodata/front/src/pages/dashboard.tsx index 6f9c979..05d99ae 100644 --- a/negodata/front/src/pages/dashboard.tsx +++ b/negodata/front/src/pages/dashboard.tsx @@ -4,17 +4,14 @@ import { PageContainer } from '@/components/layout/PageContainer'; import { Typography } from '@/components/ui/typography'; import { DashboardHero, ScopeSection } from '@/features/dashboard'; import { OnboardingGuideModal } from '@/features/onboarding/OnboardingGuideModal'; -import { useAuth } from '@/features/auth/useAuth'; import { useGetDashboardSummary } from '@/api/generated/dashboard/dashboard'; // 견적 생성~마감~선정을 한눈에 보는 대시보드. -// 회사 전체 스코프는 최고관리자만, 일반 사용자는 '내 견적'만 본다. 위젯 행은 클릭 시 견적 상세로 딥링크. 읽기 전용. +// 회사 전체·내 견적 두 스코프를 함께 보여준다(조회는 회사 공유). 위젯 행은 클릭 시 견적 상세로 딥링크. 읽기 전용. const ONBOARDING_SEEN_KEY = 'negodata_onboarding_seen'; export default function DashboardPage() { const navigate = useNavigate(); - const { user } = useAuth(); - const isOwner = user?.role === '최고관리자'; const { data, isLoading, isError } = useGetDashboardSummary(); const [guideOpen, setGuideOpen] = useState(false); @@ -38,7 +35,7 @@ export default function DashboardPage() { 대시보드를 불러오지 못했습니다. ) : ( <> - {isOwner && } + )}