/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import React from "react"; import { observer } from "mobx-react"; // ui import { Button } from "@plane/propel/button"; // utils import { cn } from "@plane/utils"; type EmptyStateSize = "sm" | "base" | "lg"; type ButtonConfig = { text: string; prependIcon?: React.ReactElement; appendIcon?: React.ReactElement; onClick?: () => void; disabled?: boolean; }; type Props = { title: string; description?: string; assetPath?: string; size?: EmptyStateSize; primaryButton?: ButtonConfig; secondaryButton?: ButtonConfig; customPrimaryButton?: React.ReactNode; customSecondaryButton?: React.ReactNode; className?: string; }; const sizeClasses = { sm: "md:min-w-[24rem] max-w-[45rem]", base: "md:min-w-[28rem] max-w-[50rem]", lg: "md:min-w-[30rem] max-w-[60rem]", } as const; function CustomButton({ config, variant, size, }: { config: ButtonConfig; variant: "primary" | "secondary"; size: EmptyStateSize; }) { return ( ); } export const DetailedEmptyState = observer(function DetailedEmptyState(props: Props) { const { title, description, size = "lg", primaryButton, secondaryButton, customPrimaryButton, customSecondaryButton, assetPath, className, } = props; const hasButtons = primaryButton || secondaryButton || customPrimaryButton || customSecondaryButton; return (
{description}
}