Cleaned up components and their props

This commit is contained in:
2025-07-07 13:44:28 -05:00
parent edd0a9ccba
commit 2fbb259e62
20 changed files with 258 additions and 193 deletions

View File

@@ -8,45 +8,47 @@ type Message =
type StatusMessageProps = {
message: Message;
containerClassName?: ComponentProps<'div'>['className'];
containerProps?: Omit<ComponentProps<'div'>, 'className'>;
textClassName?: ComponentProps<'div'>['className'];
textProps?: Omit<ComponentProps<'div'>, 'className'>;
containerProps?: ComponentProps<'div'>;
textProps?: ComponentProps<'div'>;
};
export const StatusMessage = ({
message,
containerClassName,
containerProps,
textClassName,
textProps,
}: StatusMessageProps) => {
return (
<div
{...containerProps}
className={cn(
'flex flex-col gap-2 w-full\
text-sm bg-accent rounded-md p-2 px-4',
containerClassName,
containerProps?.className,
)}
{...containerProps}
>
{'success' in message && (
<div className={cn(
'dark:text-green-500 text-green-700',
textClassName
)}
<div
{...textProps}
className={cn(
'dark:text-green-500 text-green-700',
textProps?.className
)}
>
{message.success}
</div>
)}
{'error' in message && (
<div className={cn('text-destructive', textClassName)}>
<div
{...textProps}
className={cn('text-destructive', textProps?.className)}
>
{message.error}
</div>
)}
{'message' in message && (
<div className={textClassName}>
<div
{...textProps}
>
{message.message}
</div>
)}