diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 09d8ec5e1e162fd02056077d6f77e7e20494d9ea..501f35bee5c3957c3d3a2f89f638082fc8a606f6 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -244,6 +244,8 @@ let variablesHistory: string[] = $state([]) let windowInnerWidth: number | undefined = $state(undefined) + let saveButtonClicked: boolean = $state(false) + function auditSimulationQuery( audit: Audit, query: URLSearchParams, @@ -1247,10 +1249,21 @@ {#if (displayMode.parametersVariableName !== undefined || displayMode.testCasesIndex.length > 0) && (mobileLawTab || !displayMode.budget) && displayMode.edit === undefined} <button class="absolute -bottom-4 right-2 z-30 flex items-center gap-2 rounded border border-le-bleu bg-white px-5 py-2 text-sm font-bold uppercase tracking-[0.085em] text-le-bleu shadow-lg transition-all duration-200 ease-out-back hover:bg-gray-100 active:bg-gray-200 disabled:scale-90 disabled:opacity-0 lg:right-5 xl:right-10" - onclick={shareTestCaseSimulationLink} + onclick={async () => { + if (saveButtonClicked) { + return + } + saveButtonClicked = true + await shareTestCaseSimulationLink() + saveButtonClicked = false + }} id="situation_savebutton" > - <span class="hidden lg:inline">Enregistrer / partager</span> + <span class="hidden lg:inline" + >{saveButtonClicked + ? "Génération en cours..." + : "Enregistrer / partager"}</span + > <iconify-icon class="text-lg" icon="ri:share-fill" ></iconify-icon> </button>