import type { VariantProps } from "class-variance-authority"; import React from "react"; import type { IconType } from "@/components/ui/lucid-icon/lucid-icon"; import LIcon from "@/components/ui/lucid-icon/lucid-icon"; import { cn } from "@/libs/utils"; import type { StatusVariants } from "./status-text.variants"; import statusTextVariants from "./status-text.variants"; export type StatusContentType = { text: string; icon: IconType; }; export const StatusContent: Record = { success: { text: "Onaylandı", icon: "Check", }, error: { text: "İptal Edildi", icon: "Ban", }, warning: { text: "Onay Bekliyor", icon: "Clock", }, denied: { text: "Reddedildi", icon: "Ban", }, }; export interface STextProps extends React.HTMLAttributes, Omit, "status"> { status: StatusVariants; cancelReason?: string; text?: string; message?: string; } function StatusText({ status, className, text, message, cancelReason, ...props }: STextProps) { const content = StatusContent[status]; return (
{cancelReason ? (

{cancelReason}

) : (

{content?.text}

)}
{text && content?.text !== StatusContent.warning.text && (

{text}

)} {message && content?.text === StatusContent.error.text && (

Reddedilme Nedeni

{message}
)} {message && content?.text === StatusContent.denied.text && (

İptal Nedeni

{message}
)}
); } export { StatusText };