Add permission checks to fund account components

- Add checkGrant(55, 'D') for download/email functions in transfer-list-wrap, result-list-wrap, and result-detail
- Add checkGrant(55, 'W') for transfer registration navigation in transfer-list-wrap and result-list-wrap
- Add checkGrant(55, 'X') for transfer request in transfer-detail
- Show alert message when user lacks permission
- Simplify onClick handler in transfer-detail from arrow function to direct method reference

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jay Sheen
2025-11-05 19:27:15 +09:00
parent cf1a390c67
commit 6abbe9b11a
4 changed files with 33 additions and 1 deletions

View File

@@ -13,6 +13,8 @@ import { useExtensionFundAccountDownloadReceiptMutation } from '@/entities/addit
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@/entities/common/model/constant';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
export interface FundAccountResultDetailProps {
detailOn: boolean;
@@ -47,6 +49,10 @@ export const FundAccountResultDetail = ({
};
const onClickToOpenEmailBottomSheet = () => {
if (!checkGrant(55, 'D')) {
showAlert(t('common.nopermission'));
return;
}
setEmailBottomSheetOn(true);
};

View File

@@ -11,6 +11,8 @@ import { snackBar } from '@/shared/lib';
import { useExtensionFundAccountTransferRequestMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation';
import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@/entities/common/model/constant';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
export interface FundAccountTransferDetailProps {
detailOn: boolean;
@@ -43,6 +45,10 @@ export const FundAccountTransferDetail = ({
};
const onClickToRequest = () => {
if (!checkGrant(55, 'X')) {
showAlert(t('common.nopermission'));
return;
}
let params: ExtensionFundAccountTransferRequestParams = {
seq: seq
};
@@ -150,7 +156,7 @@ export const FundAccountTransferDetail = ({
<div className="apply-row">
<button
className="btn-50 btn-blue flex-1"
onClick={() => onClickToRequest()}
onClick={onClickToRequest}
disabled={detail?.resultStatus !== FundAccountStatus.REGIST_COMPLETE}
>{t('additionalService.fundAccount.transferRequestButton')}</button>
</div>

View File

@@ -19,6 +19,8 @@ import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
import useIntersectionObserver from '@/widgets/intersection-observer';
import { useTranslation } from 'react-i18next';
import { FundAccountResultDetail } from './detail/result-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
export const FundAccountResultListWrap = () => {
const { navigate } = useNavigate();
@@ -144,6 +146,10 @@ export const FundAccountResultListWrap = () => {
};
const onClickToOpenEmailBottomSheet = () => {
if (!checkGrant(55, 'D')) {
showAlert(t('common.nopermission'));
return;
}
setEmailBottomSheetOn(true);
};
@@ -251,6 +257,10 @@ export const FundAccountResultListWrap = () => {
]);
const onClickToNavigate = () => {
if (!checkGrant(55, 'W')) {
showAlert(t('common.nopermission'));
return;
}
navigate(PATHS.additionalService.fundAccount.transferRequest);
};

View File

@@ -28,6 +28,8 @@ import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
import useIntersectionObserver from '@/widgets/intersection-observer';
import { useTranslation } from 'react-i18next';
import { FundAccountTransferDetail } from './detail/transfer-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
export const FundAccountTransferListWrap = () => {
const { navigate } = useNavigate();
@@ -127,6 +129,10 @@ export const FundAccountTransferListWrap = () => {
};
const onClickToOpenEmailBottomSheet = () => {
if (!checkGrant(55, 'D')) {
showAlert(t('common.nopermission'));
return;
}
setEmailBottomSheetOn(true);
};
@@ -234,6 +240,10 @@ export const FundAccountTransferListWrap = () => {
]);
const onClickToNavigate = () => {
if (!checkGrant(55, 'W')) {
showAlert(t('common.nopermission'));
return;
}
navigate(PATHS.additionalService.fundAccount.transferRequest);
};