This commit is contained in:
David Arranz 2026-04-13 09:53:48 +02:00
parent 65c3e1f324
commit 0caf747d4e

View File

@ -2,6 +2,7 @@ import {
Button, Button,
DropdownMenu, DropdownMenu,
DropdownMenuContent, DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem, DropdownMenuItem,
DropdownMenuSeparator, DropdownMenuSeparator,
DropdownMenuTrigger, DropdownMenuTrigger,
@ -75,12 +76,10 @@ export const UpdateCommitButtonGroup = ({
// ⛳️ RHF opcional: auto-detectar isSubmitting si no se pasó isLoading // ⛳️ RHF opcional: auto-detectar isSubmitting si no se pasó isLoading
let rhfIsSubmitting = false; let rhfIsSubmitting = false;
try {
const ctx = useFormContext(); const ctx = useFormContext();
rhfIsSubmitting = !!ctx?.formState?.isSubmitting; rhfIsSubmitting = !!ctx?.formState?.isSubmitting;
} catch {
// No hay provider de RHF; ignorar
}
const busy = isLoading ?? rhfIsSubmitting; const busy = isLoading ?? rhfIsSubmitting;
const computedDisabled = !!(disabled || (preventDoubleSubmit && busy)); const computedDisabled = !!(disabled || (preventDoubleSubmit && busy));
@ -100,13 +99,16 @@ export const UpdateCommitButtonGroup = ({
{/* Menú de acciones adicionales */} {/* Menú de acciones adicionales */}
{hasSecondaryActions && ( {hasSecondaryActions && (
<DropdownMenu> <DropdownMenu>
<DropdownMenuTrigger> <DropdownMenuTrigger
render={
<Button className="px-2" disabled={computedDisabled} size="sm" variant="ghost"> <Button className="px-2" disabled={computedDisabled} size="sm" variant="ghost">
<MoreHorizontalIcon className="h-4 w-4" /> <MoreHorizontalIcon className="h-4 w-4" />
<span className="sr-only">Más acciones</span> <span className="sr-only">Más acciones</span>
</Button> </Button>
</DropdownMenuTrigger> }
/>
<DropdownMenuContent align="end" className="w-48"> <DropdownMenuContent align="end" className="w-48">
<DropdownMenuGroup>
{onReset && ( {onReset && (
<DropdownMenuItem <DropdownMenuItem
className="text-muted-foreground" className="text-muted-foreground"
@ -147,6 +149,7 @@ export const UpdateCommitButtonGroup = ({
</DropdownMenuItem> </DropdownMenuItem>
</> </>
)} )}
</DropdownMenuGroup>
</DropdownMenuContent> </DropdownMenuContent>
</DropdownMenu> </DropdownMenu>
)} )}