refactor(ui): enforce poyraz button standards
This commit is contained in:
@@ -4,20 +4,31 @@ import { useFormStatus } from "react-dom";
|
||||
import { Button } from "poyraz-ui/atoms";
|
||||
import React from "react";
|
||||
|
||||
interface SubmitButtonProps extends React.ComponentProps<typeof Button> {
|
||||
interface SubmitButtonProps
|
||||
extends Omit<React.ComponentProps<typeof Button>, "effect" | "variant"> {
|
||||
pendingText?: string;
|
||||
variant?: "default" | "secondary";
|
||||
}
|
||||
|
||||
export function SubmitButton({
|
||||
children,
|
||||
pendingText,
|
||||
type = "submit",
|
||||
variant = "default",
|
||||
...props
|
||||
}: SubmitButtonProps) {
|
||||
const { pending } = useFormStatus();
|
||||
|
||||
return (
|
||||
<Button type={type} disabled={pending} loading={pending} aria-busy={pending} {...props}>
|
||||
<Button
|
||||
type={type}
|
||||
disabled={pending}
|
||||
loading={pending}
|
||||
aria-busy={pending}
|
||||
{...props}
|
||||
variant={variant}
|
||||
effect="shine"
|
||||
>
|
||||
{pending ? (
|
||||
<>
|
||||
{pendingText || children}
|
||||
|
||||
Reference in New Issue
Block a user