Spaces:
Build error
Build error
| import React from "react"; | |
| import { ModalBody } from "../modal-body"; | |
| import { ModalButton } from "../../buttons/modal-button"; | |
| interface ButtonConfig { | |
| text: string; | |
| onClick: () => void; | |
| className: React.HTMLProps<HTMLButtonElement>["className"]; | |
| } | |
| interface BaseModalTitleProps { | |
| title: React.ReactNode; | |
| } | |
| export function BaseModalTitle({ title }: BaseModalTitleProps) { | |
| return ( | |
| <span className="text-xl leading-6 -tracking-[0.01em] font-semibold"> | |
| {title} | |
| </span> | |
| ); | |
| } | |
| interface BaseModalDescriptionProps { | |
| description?: React.ReactNode; | |
| children?: React.ReactNode; | |
| } | |
| export function BaseModalDescription({ | |
| description, | |
| children, | |
| }: BaseModalDescriptionProps) { | |
| return ( | |
| <span className="text-xs text-[#A3A3A3]">{children || description}</span> | |
| ); | |
| } | |
| interface BaseModalProps { | |
| testId?: string; | |
| title: string; | |
| description: string; | |
| buttons: ButtonConfig[]; | |
| } | |
| export function BaseModal({ | |
| testId, | |
| title, | |
| description, | |
| buttons, | |
| }: BaseModalProps) { | |
| return ( | |
| <ModalBody testID={testId}> | |
| <div className="flex flex-col gap-2 self-start"> | |
| <BaseModalTitle title={title} /> | |
| <BaseModalDescription description={description} /> | |
| </div> | |
| <div className="flex flex-col gap-2 w-full"> | |
| {buttons.map((button, index) => ( | |
| <ModalButton | |
| key={index} | |
| onClick={button.onClick} | |
| text={button.text} | |
| className={button.className} | |
| /> | |
| ))} | |
| </div> | |
| </ModalBody> | |
| ); | |
| } | |