Files
YANPM/apps/frontend/app/components/Form/Button.tsx

37 lines
1.0 KiB
TypeScript

export type SubmitButtonProps = {
loading?: boolean;
label?:
| {
default: string;
loading: string;
}
| string;
} & React.ButtonHTMLAttributes<HTMLButtonElement>;
export function SubmitButton({ loading, label, ...props }: SubmitButtonProps) {
return (
<button
type="submit"
disabled={loading}
style={{
padding: '10px 14px',
borderRadius: 6,
border: 'none',
backgroundColor: 'var(--iris-9)',
color: 'white',
}}
{...props}
>
{loading ? (typeof label === 'string' ? 'Submitting…' : label?.loading ?? 'Submitting…') : typeof label === 'string' ? label : label?.default ?? 'Submit'}
</button>
);
}
export function ResetButton(props: React.ButtonHTMLAttributes<HTMLButtonElement>) {
return (
<button type="reset" {...props} style={{ padding: '10px 14px', borderRadius: 6, border: '1px solid var(--gray-5)', background: 'white', ...props.style }}>
{props.children ?? 'Reset'}
</button>
);
}