feat: add localized high-risk status remap guard with optimized modal UX

This commit is contained in:
Seefs
2026-02-22 20:14:56 +08:00
parent 50ffa639a2
commit 4981dbcf20
2 changed files with 89 additions and 25 deletions

View File

@@ -1,4 +1,4 @@
import React from 'react';
import React, { useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import RiskAcknowledgementModal from '../../../common/modals/RiskAcknowledgementModal';
import {
@@ -6,13 +6,17 @@ import {
STATUS_CODE_RISK_CHECKLIST_KEYS,
} from './statusCodeRiskGuard';
const StatusCodeRiskGuardModal = ({
const StatusCodeRiskGuardModal = React.memo(function StatusCodeRiskGuardModal({
visible,
detailItems,
onCancel,
onConfirm,
}) => {
const { t } = useTranslation();
}) {
const { t, i18n } = useTranslation();
const checklist = useMemo(
() => STATUS_CODE_RISK_CHECKLIST_KEYS.map((item) => t(item)),
[t, i18n.language],
);
return (
<RiskAcknowledgementModal
@@ -21,7 +25,7 @@ const StatusCodeRiskGuardModal = ({
markdownContent={t(STATUS_CODE_RISK_I18N_KEYS.markdown)}
detailTitle={t(STATUS_CODE_RISK_I18N_KEYS.detailTitle)}
detailItems={detailItems}
checklist={STATUS_CODE_RISK_CHECKLIST_KEYS.map((item) => t(item))}
checklist={checklist}
inputPrompt={t(STATUS_CODE_RISK_I18N_KEYS.inputPrompt)}
requiredText={t(STATUS_CODE_RISK_I18N_KEYS.confirmText)}
inputPlaceholder={t(STATUS_CODE_RISK_I18N_KEYS.inputPlaceholder)}
@@ -32,6 +36,6 @@ const StatusCodeRiskGuardModal = ({
onConfirm={onConfirm}
/>
);
};
});
export default StatusCodeRiskGuardModal;