import * as React from "react";
import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "@/lib/utils";

const formStatusVariants = cva(
  "p-3 rounded-md flex items-center gap-x-2 text-sm",
  {
    variants: {
      variant: {
        success: "bg-emerald-500/15 text-emerald-500",
        error: "bg-destructive/15 text-destructive",
      },
    },
    defaultVariants: {
      variant: "error",
    },
  }
);

interface FormStatusProps extends VariantProps<typeof formStatusVariants> {
  message?: string;
  children: React.ReactNode;
}

export const FormStatus = ({
  message,
  variant,
  children,
}: FormStatusProps) => {
  if (!message) return null;

  return (
    <div className={cn(formStatusVariants({ variant }))}>
      {children}
      <p>{message}</p>
    </div>
  );
};
