This commit is contained in:
asp_ly 2024-12-28 19:09:10 +08:00
parent d49794acf6
commit 59e7c3b1fb

View File

@ -308,11 +308,7 @@ function generateListPage(options: GenerateOptions): string {
return `import React, { useState, useEffect } from 'react'; return `import React, { useState, useEffect } from 'react';
import { PageContainer } from '@/components/ui/page-container'; import { PageContainer } from '@/components/ui/page-container';
import { import { Plus, Pencil, Trash2, Loader2 } from 'lucide-react';
PlusOutlined,
EditOutlined,
DeleteOutlined,
} from '@ant-design/icons';
import { import {
Table, Table,
TableHeader, TableHeader,
@ -509,7 +505,7 @@ const ${typeName}List: React.FC = () => {
size="sm" size="sm"
onClick={() => handleEdit(row.original)} onClick={() => handleEdit(row.original)}
> >
<EditOutlined className="mr-1"/> <Pencil className="mr-2 h-4 w-4" />
</Button> </Button>
<AlertDialog> <AlertDialog>
@ -519,7 +515,7 @@ const ${typeName}List: React.FC = () => {
size="sm" size="sm"
className="text-destructive" className="text-destructive"
> >
<DeleteOutlined className="mr-1"/> <Trash2 className="mr-2 h-4 w-4" />
</Button> </Button>
</AlertDialogTrigger> </AlertDialogTrigger>
@ -551,7 +547,7 @@ const ${typeName}List: React.FC = () => {
<h2 className="text-3xl font-bold tracking-tight">${description}</h2> <h2 className="text-3xl font-bold tracking-tight">${description}</h2>
<div className="flex items-center gap-4"> <div className="flex items-center gap-4">
<Button onClick={handleAdd}> <Button onClick={handleAdd}>
<PlusOutlined className="mr-1"/> <Plus className="mr-2 h-4 w-4" />
</Button> </Button>
</div> </div>
@ -607,7 +603,29 @@ const ${typeName}List: React.FC = () => {
</TableRow> </TableRow>
</TableHeader> </TableHeader>
<TableBody> <TableBody>
{list.map((item) => ( {loading ? (
<TableRow>
<TableCell
colSpan={columns.length}
className="h-24 text-center"
>
<div className="flex justify-center items-center">
<Loader2 className="mr-2 h-4 w-4 animate-spin" />
...
</div>
</TableCell>
</TableRow>
) : list.length === 0 ? (
<TableRow>
<TableCell
colSpan={columns.length}
className="h-24 text-center"
>
</TableCell>
</TableRow>
) : (
list.map((item) => (
<TableRow key={item.id}> <TableRow key={item.id}>
{columns.map((column) => ( {columns.map((column) => (
<TableCell <TableCell
@ -619,7 +637,8 @@ const ${typeName}List: React.FC = () => {
</TableCell> </TableCell>
))} ))}
</TableRow> </TableRow>
))} ))
)}
</TableBody> </TableBody>
</Table> </Table>
<div className="flex justify-end border-t border-border bg-muted/40"> <div className="flex justify-end border-t border-border bg-muted/40">