From 17afadad60b3d392c71a1752c35da49f63406290 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Wed, 5 Nov 2025 14:36:03 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B6=8C=ED=95=9C=20read?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/ui/day-status-box-container1.tsx | 17 +++++++++++- .../home/ui/day-status-box-container2.tsx | 17 +++++++++++- src/entities/home/ui/home-notice-item.tsx | 26 ++++++++++++++----- 3 files changed, 52 insertions(+), 8 deletions(-) diff --git a/src/entities/home/ui/day-status-box-container1.tsx b/src/entities/home/ui/day-status-box-container1.tsx index 0725012..a353322 100644 --- a/src/entities/home/ui/day-status-box-container1.tsx +++ b/src/entities/home/ui/day-status-box-container1.tsx @@ -12,6 +12,7 @@ import { useNavigate } from '@/shared/lib/hooks'; import { PATHS } from '@/shared/constants/paths'; import { useStore } from '@/shared/model/store'; import { useTranslation } from 'react-i18next'; +import { showAlert } from '@/widgets/show-alert'; export const BoxContainer1 = () => { const { navigate } = useNavigate(); @@ -56,8 +57,22 @@ export const BoxContainer1 = () => { }); }; + const checkGrant = (menuId?: number) => { + const menuGrantsByKey = useStore.getState().UserStore.menuGrantsByKey; + const myGrants = menuGrantsByKey['' + menuId]; + if(myGrants?.includes('R')){ + return true + } + return false; + }; + const onClickToNavigate = () => { - navigate(PATHS.settlement.list); + if(checkGrant(36)){ + navigate(PATHS.settlement.list); + } + else{ + showAlert('권한이 없습니다.'); + } }; useEffect(() => { diff --git a/src/entities/home/ui/day-status-box-container2.tsx b/src/entities/home/ui/day-status-box-container2.tsx index e8801b3..a8e7f94 100644 --- a/src/entities/home/ui/day-status-box-container2.tsx +++ b/src/entities/home/ui/day-status-box-container2.tsx @@ -8,6 +8,7 @@ import { useNavigate } from '@/shared/lib/hooks'; import { PATHS } from '@/shared/constants/paths'; import { useStore } from '@/shared/model/store'; import { useTranslation } from 'react-i18next'; +import { showAlert } from '@/widgets/show-alert'; export const BoxContainer2 = () => { const { navigate } = useNavigate(); @@ -80,8 +81,22 @@ export const BoxContainer2 = () => { callOverview(); }, []); + const checkGrant = (menuId?: number) => { + const menuGrantsByKey = useStore.getState().UserStore.menuGrantsByKey; + const myGrants = menuGrantsByKey['' + menuId]; + if(myGrants?.includes('R')){ + return true + } + return false; + }; + const onClickToNavigate = () => { - navigate(PATHS.settlement.list); + if(checkGrant(36)){ + navigate(PATHS.settlement.list); + } + else{ + showAlert('권한이 없습니다.'); + } }; const translateDayOfWeek = (koreanDay: string): string => { diff --git a/src/entities/home/ui/home-notice-item.tsx b/src/entities/home/ui/home-notice-item.tsx index 124d292..93a3eed 100644 --- a/src/entities/home/ui/home-notice-item.tsx +++ b/src/entities/home/ui/home-notice-item.tsx @@ -4,6 +4,8 @@ import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { NoticeItemProps } from '@/entities/support/model/types'; import { useTranslation } from 'react-i18next'; import { IMAGE_ROOT } from '@/shared/constants/common'; +import { useStore } from '@/shared/model/store'; +import { showAlert } from '@/widgets/show-alert'; export const HomeNoticeItem = ({ noticeItem, @@ -20,13 +22,25 @@ export const HomeNoticeItem = ({ } return moment(date).format('YYYY.MM.DD'); }; - + const checkGrant = (menuId?: number) => { + const menuGrantsByKey = useStore.getState().UserStore.menuGrantsByKey; + const myGrants = menuGrantsByKey['' + menuId]; + if(myGrants?.includes('R')){ + return true + } + return false; + }; const onClickToDetail = () => { - if(setDetailData){ - setDetailData({ - seq: noticeItem.seq, - detailOn: true - }); + if(checkGrant(62)){ + if(setDetailData){ + setDetailData({ + seq: noticeItem.seq, + detailOn: true + }); + } + } + else{ + showAlert('권한이 없습니다.'); } };