import MuiCard, { type CardProps } from "@mui/material/Card";
import CardContent, { type CardContentProps } from "@mui/material/CardContent";

export interface AppCardProps extends CardProps {
  /**
   * Skip the default CardContent wrapper so children sit edge-to-edge (e.g. for
   * media, tables, or a custom layout). Defaults to false — the standard padded
   * content behavior is unchanged for existing call sites.
   */
  disableContentPadding?: boolean;
  /** Props forwarded to the inner CardContent (ignored when disableContentPadding). */
  contentProps?: CardContentProps;
}

export default function Card({
  children,
  disableContentPadding = false,
  contentProps,
  ...props
}: AppCardProps) {
  return (
    <MuiCard {...props}>
      {disableContentPadding ? (
        children
      ) : (
        <CardContent {...contentProps}>{children}</CardContent>
      )}
    </MuiCard>
  );
}
