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:
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user