diff --git a/src/layouts/index.tsx b/src/layouts/index.tsx index b5755822..55a6e570 100644 --- a/src/layouts/index.tsx +++ b/src/layouts/index.tsx @@ -322,12 +322,12 @@ export default (props: any) => { }} modal={{ mask: { - blur: true + blur: false } }} drawer={{ mask: { - blur: true + blur: false } }} > diff --git a/src/pages/_components/form-drawer.tsx b/src/pages/_components/form-drawer.tsx new file mode 100644 index 00000000..0a25aaa4 --- /dev/null +++ b/src/pages/_components/form-drawer.tsx @@ -0,0 +1,59 @@ +import ModalFooter from '@/components/modal-footer'; +import GSDrawer from '@/components/scroller-modal/gs-drawer'; +import ColumnWrapper from '@/pages/_components/column-wrapper'; + +const ModalFooterStyle = { + padding: '16px 24px 8px', + display: 'flex', + justifyContent: 'flex-end' +}; + +type AddModalProps = { + title: string; + open: boolean; + onCancel: () => void; + children?: React.ReactNode; + onSubmit: () => void; + width?: number; +}; +const FormDrawer: React.FC = ({ + title, + open, + onCancel, + onSubmit, + children, + width = 600 +}) => { + return ( + + + } + > + {children} + + + ); +}; + +export default FormDrawer; diff --git a/src/pages/cluster-management/cluster-create.tsx b/src/pages/cluster-management/cluster-create.tsx index 36898d04..792a6ca1 100644 --- a/src/pages/cluster-management/cluster-create.tsx +++ b/src/pages/cluster-management/cluster-create.tsx @@ -38,8 +38,17 @@ const Content = styled.div` width: 100%; `; +const StepWrapper = styled.div` + position: sticky; + top: 0; + background: var(--ant-color-bg-elevated); + z-index: 10; + padding: 16px 24px; +`; + const MainWrapper = styled.div` display: flex; + flex-direction: column; height: 100%; `; @@ -308,7 +317,15 @@ const ClusterCreate: React.FC<{ return ( + {!isAddWorkerStep && ( + + + + )} } > - {!isAddWorkerStep && ( -
- -
- )}
{currentStep === startStep && ( = ({ }; return ( - - } + onSubmit={handleSubmit} + width={700} > = ({ currentData={currentData} onFinish={handleOk} /> - + ); }; diff --git a/src/pages/cluster-management/components/add-credential.tsx b/src/pages/cluster-management/components/add-credential.tsx index b8fab881..84ee5959 100644 --- a/src/pages/cluster-management/components/add-credential.tsx +++ b/src/pages/cluster-management/components/add-credential.tsx @@ -1,9 +1,8 @@ -import ModalFooter from '@/components/modal-footer'; -import ScrollerModal from '@/components/scroller-modal'; import SealInput from '@/components/seal-form/seal-input'; import { PageAction } from '@/config'; import { PageActionType } from '@/config/types'; import useAppUtils from '@/hooks/use-app-utils'; +import FormDrawer from '@/pages/_components/form-drawer'; import { useIntl } from '@umijs/max'; import { Form } from 'antd'; import React, { useEffect } from 'react'; @@ -66,19 +65,11 @@ const AddModal: React.FC = ({ }, [currentData]); return ( - - } + onSubmit={handleSumit} + onCancel={handleCancel} >
@@ -140,7 +131,7 @@ const AddModal: React.FC = ({ > -
+ ); }; diff --git a/src/pages/cluster-management/components/add-pool.tsx b/src/pages/cluster-management/components/add-pool.tsx index 8c81bcbf..06d6d008 100644 --- a/src/pages/cluster-management/components/add-pool.tsx +++ b/src/pages/cluster-management/components/add-pool.tsx @@ -1,6 +1,5 @@ -import ModalFooter from '@/components/modal-footer'; -import ScrollerModal from '@/components/scroller-modal'; import { PageActionType } from '@/config/types'; +import FormDrawer from '@/pages/_components/form-drawer'; import React, { useEffect, useRef } from 'react'; import { ProviderType } from '../config'; import { @@ -61,20 +60,11 @@ const AddPool: React.FC = ({ }, [clusterData, open]); return ( - - } + onSubmit={handleSubmit} > = ({ currentData={currentData} onFinish={handleOnFinish} > - + ); }; diff --git a/src/pages/cluster-management/components/support-gpus.tsx b/src/pages/cluster-management/components/support-gpus.tsx index 2e7d32c2..a01568a2 100644 --- a/src/pages/cluster-management/components/support-gpus.tsx +++ b/src/pages/cluster-management/components/support-gpus.tsx @@ -6,6 +6,7 @@ import metaxLogo from '@/assets/logo/metax.png'; import mooreLogo from '@/assets/logo/moore-logo.png'; import nvidiaLogo from '@/assets/logo/nvidia.png'; import IconFont from '@/components/icon-font'; +import useUserSettings from '@/hooks/use-user-settings'; import { AddWorkerDockerNotes, GPUDriverMap @@ -46,6 +47,17 @@ const Box = styled.div` background-color: var(--ant-blue-1); } } + &.dark-theme { + .template-card-wrapper { + background-color: rgba(255, 255, 255, 0.05); + &:hover { + background-color: var(--ant-color-bg-solid); + } + &.active { + background-color: var(--ant-color-bg-solid); + } + } + } `; const ProviderImage = ({ src, height }: { src: string; height?: number }) => { @@ -72,6 +84,7 @@ const SupportedHardware: React.FC = ({ current }) => { const intl = useIntl(); + const { userSettings } = useUserSettings(); const supportedHardPlatforms = [ { @@ -97,7 +110,7 @@ const SupportedHardware: React.FC = ({ icon: ( ) }, @@ -174,7 +187,7 @@ const SupportedHardware: React.FC = ({ ]; return ( - + { firstAddWorker: false, firstAddCluster: true }); + setIsFromCluster(false); navigate(-1); } } - setIsFromCluster(false); fetchData(); setOpenModalStatus({ ...openModalStatus, open: false }); message.success(intl.formatMessage({ id: 'common.message.success' })); diff --git a/src/pages/users/components/add-modal.tsx b/src/pages/users/components/add-modal.tsx index 90a4b077..297fcf48 100644 --- a/src/pages/users/components/add-modal.tsx +++ b/src/pages/users/components/add-modal.tsx @@ -1,6 +1,4 @@ import IconFont from '@/components/icon-font'; -import ModalFooter from '@/components/modal-footer'; -import ScrollerModal from '@/components/scroller-modal'; import SealInput from '@/components/seal-form/seal-input'; import SealSelect from '@/components/seal-form/seal-select'; import SealSwitch from '@/components/seal-form/seal-switch'; @@ -9,6 +7,7 @@ import { PageActionType } from '@/config/types'; import { useIntl, useModel } from '@umijs/max'; import { Form, Select } from 'antd'; import { useEffect } from 'react'; +import FormDrawer from '../../_components/form-drawer'; import { UserRoles, UserRolesOptions } from '../config'; import { FormData, ListItem } from '../config/types'; @@ -47,7 +46,7 @@ const AddModal: React.FC = ({ } }; - const handleSumit = () => { + const handleSubmit = () => { form.submit(); }; @@ -56,20 +55,11 @@ const AddModal: React.FC = ({ }, [open]); return ( - - } + onSubmit={handleSubmit} >
@@ -165,7 +155,7 @@ const AddModal: React.FC = ({ > -
+ ); };