Spaces:
Build error
Build error
| import { | |
| Modal, | |
| ModalBody, | |
| ModalContent, | |
| ModalFooter, | |
| ModalHeader, | |
| } from "@heroui/react"; | |
| import React from "react"; | |
| import { Action, FooterContent } from "./footer-content"; | |
| import { HeaderContent } from "./header-content"; | |
| interface BaseModalProps { | |
| isOpen: boolean; | |
| onOpenChange: (isOpen: boolean) => void; | |
| title: string; | |
| contentClassName?: string; | |
| bodyClassName?: string; | |
| isDismissable?: boolean; | |
| subtitle?: string; | |
| actions?: Action[]; | |
| children?: React.ReactNode; | |
| testID?: string; | |
| } | |
| export function BaseModal({ | |
| isOpen, | |
| onOpenChange, | |
| title, | |
| contentClassName = "max-w-[30rem] p-[40px]", | |
| bodyClassName = "px-0 py-[20px]", | |
| isDismissable = true, | |
| subtitle = undefined, | |
| actions = [], | |
| children = null, | |
| testID, | |
| }: BaseModalProps) { | |
| return ( | |
| <Modal | |
| data-testid={testID} | |
| isOpen={isOpen} | |
| onOpenChange={onOpenChange} | |
| isDismissable={isDismissable} | |
| backdrop="blur" | |
| hideCloseButton | |
| size="sm" | |
| className="bg-base-secondary rounded-lg" | |
| > | |
| <ModalContent className={contentClassName}> | |
| {(closeModal) => ( | |
| <> | |
| {title && ( | |
| <ModalHeader className="flex flex-col p-0"> | |
| <HeaderContent maintitle={title} subtitle={subtitle} /> | |
| </ModalHeader> | |
| )} | |
| <ModalBody className={bodyClassName}>{children}</ModalBody> | |
| {actions && actions.length > 0 && ( | |
| <ModalFooter className="flex-row flex justify-start p-0"> | |
| <FooterContent actions={actions} closeModal={closeModal} /> | |
| </ModalFooter> | |
| )} | |
| </> | |
| )} | |
| </ModalContent> | |
| </Modal> | |
| ); | |
| } | |