diff --git a/src/components/admin/settings/IntegrasiTab.tsx b/src/components/admin/settings/IntegrasiTab.tsx index c4c0f96..3c2b0c7 100644 --- a/src/components/admin/settings/IntegrasiTab.tsx +++ b/src/components/admin/settings/IntegrasiTab.tsx @@ -380,6 +380,10 @@ export function IntegrasiTab() { return; } + // Prevent multiple simultaneous clicks + const btn = document.activeElement as HTMLButtonElement; + if (btn) btn.disabled = true; + try { const { data, error } = await supabase.functions.invoke('create-google-meet-event', { body: { @@ -401,6 +405,8 @@ export function IntegrasiTab() { } } catch (err: any) { toast({ title: "Error", description: err.message, variant: "destructive" }); + } finally { + if (btn) btn.disabled = false; } }} className="w-full border-2"