BREAKING CHANGE: Removed standalone user edit routes (/console/user/edit, /console/user/edit/:id) - Decompose 673-line monolithic UsersTable.js into 8 specialized components - Extract column definitions to UsersColumnDefs.js with render functions - Create dedicated UsersActions.jsx for action buttons - Create UsersFilters.jsx for search and filtering logic - Create UsersDescription.jsx for description area - Extract all data management logic to useUsersData.js hook - Move AddUser.js and EditUser.js to users/modals/ folder as modal components - Create 4 new confirmation modal components (Promote, Demote, EnableDisable, Delete) - Implement pure UsersTable.jsx component for table rendering only - Create main container component users/index.jsx to compose all subcomponents - Update import paths in pages/User/index.js to use new modular structure - Remove obsolete EditUser imports and routes from App.js - Delete original monolithic files: UsersTable.js, AddUser.js, EditUser.js The new architecture follows the same modular pattern as tokens and redemptions modules: - Consistent file organization across all table modules - Better separation of concerns and maintainability - Enhanced reusability and testability - Unified modal management approach All existing functionality preserved with improved code organization.
27 lines
599 B
JavaScript
27 lines
599 B
JavaScript
import React from 'react';
|
|
import { Modal } from '@douyinfe/semi-ui';
|
|
|
|
const EnableDisableUserModal = ({
|
|
visible,
|
|
onCancel,
|
|
onConfirm,
|
|
user,
|
|
action,
|
|
t
|
|
}) => {
|
|
const isDisable = action === 'disable';
|
|
|
|
return (
|
|
<Modal
|
|
title={isDisable ? t('确定要禁用此用户吗?') : t('确定要启用此用户吗?')}
|
|
visible={visible}
|
|
onCancel={onCancel}
|
|
onOk={onConfirm}
|
|
type="warning"
|
|
>
|
|
{isDisable ? t('此操作将禁用用户账户') : t('此操作将启用用户账户')}
|
|
</Modal>
|
|
);
|
|
};
|
|
|
|
export default EnableDisableUserModal;
|