// nextjs components
import Link from "next/link"
// @mui material components
import Card from "@mui/material/Card"
import Icon from "@mui/material/Icon"
// ThreeD Garden components
import MDBox from "~/components/mui/MDBox"
import MDTypography from "~/components/mui/MDTypography"
import MDButton from "~/components/mui/MDButton"
// Declaring props types for DefaultPricingCard
interface Props {
color?:
| "primary"
| "secondary"
| "info"
| "success"
| "warning"
| "error"
| "light"
| "dark"
| "white"
badge: {
color:
| "primary"
| "secondary"
| "info"
| "success"
| "warning"
| "error"
| "light"
| "dark"
label: string
}
price: {
currency: string
value: string
type: string
}
specifications: {
label: string
includes?: boolean
}[]
action: {
type: "external" | "internal"
route: string
label: string
color:
| "primary"
| "secondary"
| "info"
| "success"
| "warning"
| "error"
| "light"
| "dark"
}
shadow?: boolean
[key: string]: any
}
function DefaultPricingCard({
color,
badge,
price,
specifications,
action,
shadow,
}: Props): JSX.Element {
const renderSpecifications = specifications.map(({ label, includes }) => (
{includes ? "done" : "remove"}
{label}
))
return (
(shadow ? lg : "none") }}>
{badge.label}
{price.currency}
{price.value}
/{price.type}
{renderSpecifications}
{action.type === "internal" ? (
{action.label}
arrow_forward
) : (
{action.label}
arrow_forward
)}
)
}
// Declaring default props for DefaultPricingCard
DefaultPricingCard.defaultProps = {
color: "white",
shadow: true,
}
export default DefaultPricingCard