import React from "react"; import { Card, Space, Spin } from "antd"; import { useNavigation, useResourceWithRoute, useRouterContext, useTranslate, userFriendlyResourceName, ResourceRouterParams, useRefineContext, } from "@pankod/refine-core"; import { Breadcrumb, SaveButton, PageHeader } from "@components"; import { CreateProps } from "../types"; /** * `` 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/ui-frameworks/antd/components/basic-views/create} for more details. */ export const Create: React.FC = ({ title, saveButtonProps, children, resource: resourceFromProps, isLoading = false, breadcrumb: breadcrumbFromProps, wrapperProps, headerProps, contentProps, headerButtonProps, headerButtons, footerButtonProps, footerButtons, goBack: goBackFromProps, }) => { const { goBack } = useNavigation(); const translate = useTranslate(); const { useParams } = useRouterContext(); const { resource: routeResourceName, action: routeFromAction } = useParams(); const resourceWithRoute = useResourceWithRoute(); const resource = resourceWithRoute(resourceFromProps ?? routeResourceName); const { options } = useRefineContext(); const breadcrumb = typeof breadcrumbFromProps === "undefined" ? options?.breadcrumb : breadcrumbFromProps; const defaultFooterButtons = ( <> ); return (
{breadcrumb} ?? undefined ) : ( ) } extra={ {headerButtons ? typeof headerButtons === "function" ? headerButtons({ defaultButtons: null, }) : headerButtons : null} } {...(headerProps ?? {})} > {footerButtons ? typeof footerButtons === "function" ? footerButtons({ defaultButtons: defaultFooterButtons, }) : footerButtons : defaultFooterButtons} , ]} {...(contentProps ?? {})} > {children}
); };