feat: change center-component to components

This commit is contained in:
2025-03-25 15:51:15 +08:00
parent ef50106e5c
commit 45443709af
34 changed files with 504 additions and 88 deletions

View File

@@ -5,7 +5,7 @@ import { useShallow } from 'zustand/react/shallow';
import { useNewNavigate } from '@/modules';
import { message } from '@/modules/message';
import { Dialog, DialogTitle, DialogContent, Tooltip, Button, ButtonGroup } from '@mui/material';
import { IconButton } from '@kevisual/center-components/button/index.tsx';
import { IconButton } from '@kevisual/components/button/index.tsx';
import { getDirectoryAndName, toFile, uploadFileChunked } from '@kevisual/resources/index.ts';
import EditOutlined from '@ant-design/icons/EditOutlined';
import DeleteOutlined from '@ant-design/icons/DeleteOutlined';
@@ -16,12 +16,12 @@ import { isObjectNull } from '@/utils/is-null';
import { CardBlank } from '@/components/card/CardBlank';
import { Settings } from 'lucide-react';
import React from 'react';
import { useModal } from '@kevisual/center-components/modal/Confirm.tsx';
import { useModal } from '@kevisual/components/modal/Confirm.tsx';
import { useForm, Controller } from 'react-hook-form';
import { TextField } from '@mui/material';
import { pick } from 'lodash-es';
import { useTranslation } from 'react-i18next';
import { TagsInput } from '@kevisual/center-components/select/TagsInput.tsx';
import { TagsInput } from '@kevisual/components/select/TagsInput.tsx';
const DrawEdit = React.lazy(() => import('../module/DrawEdit'));
const FormModal = () => {

View File

@@ -1,10 +1,10 @@
import { useEffect, useRef, useState } from 'react';
import { BaseEditor } from '@kevisual/codemirror/editor/editor.ts';
import { Drawer } from '@mui/material';
import { Box, Drawer } from '@mui/material';
import { useShallow } from 'zustand/shallow';
import { useContainerStore } from '../store';
import { Tooltip } from '@mui/material';
import { IconButton } from '@kevisual/center-components/button/index.tsx';
import { IconButton } from '@kevisual/components/button/index.tsx';
import { LeftOutlined, SaveOutlined } from '@ant-design/icons';
export const DrawEdit = () => {
@@ -60,8 +60,15 @@ export const DrawEdit = () => {
disableEnforceFocus: true, // 允许操作背景内容
disableAutoFocus: true, // 防止自动聚焦
}}
sx={{
'& .MuiDrawer-paper': {
width: '50%',
height: '100%',
overflow: 'hidden',
},
}}
anchor='right'>
<div className='bg-secondary w-[600px] h-[48px]'>
<div className='bg-secondary w-full h-[48px]'>
<div className='text-white flex p-2'>
<div className='ml-2 flex gap-2'>
<Tooltip title='返回'>
@@ -95,7 +102,17 @@ export const DrawEdit = () => {
<div className='flex-1 ml-2 flex items-center'>{containerStore.data?.title}</div>
</div>
</div>
<div className='border-primary' style={{ height: 'calc(100% - 50px)' }} ref={editorElRef}></div>
<Box
className='border-primary '
style={{ height: 'calc(100% - 50px)' }}
sx={{
'& .cm-editor': {
height: '100%',
},
'& .cm-scroller': {},
}}>
<div className='w-full h-full ' ref={editorElRef}></div>
</Box>
</Drawer>
);
};

View File

@@ -12,7 +12,7 @@ type ContainerStore = {
setLoading: (loading: boolean) => void;
list: any[];
getList: () => Promise<void>;
updateData: (data: any, opts?: { closePublish?: boolean; closeEdit?: boolean, refresh?: boolean }) => Promise<any>;
updateData: (data: any, opts?: { closePublish?: boolean; closeEdit?: boolean; refresh?: boolean; showTips?: boolean }) => Promise<any>;
deleteData: (id: string) => Promise<void>;
openDrawEdit: boolean;
setOpenDrawEdit: (openDrawEdit: boolean) => void;
@@ -54,8 +54,13 @@ export const useContainerStore = create<ContainerStore>((set, get) => {
key: 'update',
data,
});
if (res.code === 200) {
message.success('Success');
if (opts?.showTips ?? true) {
message.success('Success', {
position: 'top-right',
});
}
set({ formData: res.data });
if (refresh) {
getList();