import React from "react"; import { Card, Space, ButtonProps, PageHeader, PageHeaderProps, Tag, Spin, } from "antd"; import { useNavigation, useResourceWithRoute, useRouterContext, useTranslate, } from "@hooks"; import { SaveButton } from "@components"; import { userFriendlyResourceName } from "@definitions"; import { ResourceRouterParams } from "../../../interfaces"; export interface CreateProps { title?: string; actionButtons?: React.ReactNode; saveButtonProps?: ButtonProps; pageHeaderProps?: PageHeaderProps; resource?: string; isLoading?: boolean; } /** * `` provides us a layout to display the page. * It does not contain any logic but adds extra functionalities like action buttons and giving titles to the page. * * @see {@link https://refine.dev/docs/api-references/components/basic-views/create} for more details. */ export const Create: React.FC = ({ title, actionButtons, saveButtonProps, children, pageHeaderProps, resource: resourceFromProps, isLoading = false, }) => { const { goBack } = useNavigation(); const translate = useTranslate(); const { useParams } = useRouterContext(); const { resource: routeResourceName, action: routeFromAction, id: idFromRoute, } = useParams(); const resourceWithRoute = useResourceWithRoute(); const resource = resourceWithRoute(resourceFromProps ?? routeResourceName); const tags = []; if (idFromRoute) { tags.push( {translate("tags.clone", "Clone")} , ); } return ( {actionButtons ?? ( )} , ]} > {children} ); };