Refactor code structure for improved readability and maintainability

This commit is contained in:
2026-02-22 01:54:55 +08:00
parent 1db31d13e6
commit f3c269dd83
27 changed files with 4689 additions and 123 deletions

View File

@@ -19,7 +19,7 @@ export const AIEditorLink = (props: Props) => {
);
return (
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'

View File

@@ -147,7 +147,7 @@ export const AppVersionList = () => {
<div className='w-full h-full flex bg-slate-100'>
<div className='p-2 bg-white'>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -165,7 +165,7 @@ export const AppVersionList = () => {
<div className='grow h-full relative'>
<div className='absolute top-2 left-4'>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -193,7 +193,7 @@ export const AppVersionList = () => {
<span className='font-medium'>{item.version}</span>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<div className={clsx('rounded-full w-4 h-4', color)}></div>
</TooltipTrigger>
<TooltipContent>{isPublish ? 'published' : ''}</TooltipContent>
@@ -201,7 +201,7 @@ export const AppVersionList = () => {
</div>
<div className='mt-4 flex gap-1'>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -215,7 +215,7 @@ export const AppVersionList = () => {
<TooltipContent>Delete</TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -228,7 +228,7 @@ export const AppVersionList = () => {
<TooltipContent>使</TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -248,7 +248,7 @@ export const AppVersionList = () => {
</Tooltip>
<AIEditorLink pathname={item.key + '/' + item.version} />
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -274,7 +274,7 @@ export const AppVersionList = () => {
<div className='bg-white p-2 w-[600px] h-full flex flex-col'>
<div className='header flex items-center gap-2'>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -336,7 +336,7 @@ export const AppVersionFile = () => {
Files
<FileUpload />
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button variant='outline' size='sm' onClick={onDetect}>
</Button>

View File

@@ -31,7 +31,7 @@ export function DatePicker({ className, value, onChange }: DatePickerProps) {
return (
<Popover>
<PopoverTrigger asChild>
<PopoverTrigger>
<Button
variant={"outline"}
className={cn(

View File

@@ -27,7 +27,7 @@ const LabelWithTooltip = ({ label, tips }: { label: string; tips?: string }) =>
<label className="text-sm font-medium">{label}</label>
{tips && (
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button variant="ghost" size="icon" className="h-4 w-4 p-0">
<HelpCircle size={16} />
</Button>

View File

@@ -209,8 +209,10 @@ const ShareModal = () => {
<Label></Label>
<Select
value={runtime[0] || ''}
onValueChange={(val: string) => {
setRuntime((prev) => (prev.includes(val) ? prev.filter((v) => v !== val) : [...prev, val]));
onValueChange={(val) => {
if (typeof val === 'string') {
setRuntime((prev) => (prev.includes(val) ? prev.filter((v) => v !== val) : [...prev, val]));
}
}}
>
<SelectTrigger>
@@ -278,7 +280,7 @@ export const List = () => {
<div className='w-full h-full flex bg-slate-100'>
<div className='p-2 h-full bg-white flex flex-col gap-2'>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<IconButton
sx={{
padding: '8px',
@@ -293,7 +295,7 @@ export const List = () => {
<TooltipContent></TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<IconButton
sx={{
padding: '8px',
@@ -320,7 +322,7 @@ export const List = () => {
<div className='w-[300px] bg-white rounded-lg border border-slate-200 shadow-sm p-4 relative' key={item.id}>
<div className='flex font-bold justify-between mb-3' onClick={() => { }}>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<div>
{item.title} <i className='text-xs text-gray-400'>{item.key}</i>
</div>
@@ -332,7 +334,7 @@ export const List = () => {
</Tooltip>
<div>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<div className={`${isRunning ? 'bg-green-500' : 'bg-red-500'} w-4 h-4 rounded-full`}></div>
</TooltipTrigger>
<TooltipContent>{isRunning ? '网页可正常访问' : '网页被关闭'}</TooltipContent>
@@ -341,7 +343,7 @@ export const List = () => {
</div>
<div className='flex flex-col gap-2 mb-16'>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<div
className='text-xs cursor-copy'
onClick={() => {
@@ -364,7 +366,7 @@ export const List = () => {
</div>
<div className='mt-4 pt-3 border-t border-slate-100 flex gap-1 absolute bottom-0 left-0 right-0 px-4 pb-4 bg-white rounded-b-lg'>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -379,7 +381,7 @@ export const List = () => {
<TooltipContent></TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -395,7 +397,7 @@ export const List = () => {
<TooltipContent></TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -410,7 +412,7 @@ export const List = () => {
<TooltipContent className="whitespace-pre-wrap">{iText.share.tips}</TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -423,7 +425,7 @@ export const List = () => {
<TooltipContent></TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -458,7 +460,7 @@ export const List = () => {
</Tooltip>
<AIEditorLink pathname={item.key} />
<Tooltip>
<TooltipTrigger asChild>
<TooltipTrigger>
<Button
variant='ghost'
size='icon'
@@ -487,8 +489,4 @@ export const List = () => {
);
};
export default () => {
return <LayoutMain>
<List />
</LayoutMain>
};
export default List;