import { Button, Pagination } from "antd";
import { RotateCcw } from "lucide-react";
import type { ReactNode } from "react";
import { cn } from "@/lib/utils";
export function WorkspacePage({ children, className, grid = false, fluid = false }: { children: ReactNode; className?: string; grid?: boolean; fluid?: boolean }) {
return (
{children}
);
}
export function PageHeader({ title, description, meta, actions }: { title: string; description?: string; meta?: ReactNode; actions?: ReactNode }) {
return (
{title}
{meta}
{description ?
{description}
: null}
{actions ? {actions}
: null}
);
}
export function ListToolbar({ children, trailing, active, onReset, className }: { children: ReactNode; trailing?: ReactNode; active?: boolean; onReset?: () => void; className?: string }) {
return (
{children}
{active && onReset ? } onClick={onReset}>重置 : null}
{trailing}
);
}
export function TableSurface({ children, className }: { children: ReactNode; className?: string }) {
return {children}
;
}
export function CollectionGrid({ children, className }: { children: ReactNode; className?: string }) {
return {children}
;
}
export function PaginationBar({ current, pageSize, total, onChange, pageSizeOptions = [20, 50, 100] }: { current: number; pageSize: number; total: number; onChange: (page: number, pageSize: number) => void; pageSizeOptions?: number[] }) {
if (total <= pageSize && current === 1) return null;
return (
`${range[0]}-${range[1]} / 共 ${value} 条`}
onChange={onChange}
/>
);
}