81 lines
2.4 KiB
Svelte
81 lines
2.4 KiB
Svelte
<script lang="ts">
|
|
import Hilfe from "#components/Ausweis/Hilfe.svelte";
|
|
import { ausweisSpeichern } from "#client/lib/ausweisSpeichern.js";
|
|
import { validateAccessTokenClient } from "#client/lib/validateAccessToken.js";
|
|
import { AufnahmeClient, BedarfsausweisWohnenClient, BenutzerClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
|
|
import Overlay from "#components/Overlay.svelte";
|
|
import EmbeddedAuthFlowModule from "#modules/EmbeddedAuthFlowModule.svelte";
|
|
|
|
import { Enums } from "@ibcornelsen/database/client";
|
|
|
|
export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient;
|
|
export let bilder: UploadedGebaeudeBild[];
|
|
export let user: BenutzerClient;
|
|
export let objekt: ObjektClient;
|
|
export let aufnahme: AufnahmeClient;
|
|
export let ausweisart: Enums.Ausweisart
|
|
|
|
async function ausweisAbschicken() {
|
|
if (!await validateAccessTokenClient()) {
|
|
loginOverlayHidden = false;
|
|
return
|
|
}
|
|
|
|
loginOverlayHidden = true
|
|
|
|
const result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, ausweisart);
|
|
|
|
if (result !== null) {
|
|
window.history.pushState(
|
|
{},
|
|
"",
|
|
`${location.pathname}?uid=${ausweis.uid}`
|
|
);
|
|
window.location.href = `/kundendaten?uid=${ausweis.uid}`;
|
|
}
|
|
}
|
|
|
|
async function spaeterWeitermachen() {
|
|
if (!await validateAccessTokenClient()) {
|
|
loginOverlayHidden = false;
|
|
return
|
|
}
|
|
|
|
loginOverlayHidden = true
|
|
|
|
const result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, ausweisart);
|
|
|
|
if (result !== null) {
|
|
window.history.pushState(
|
|
{},
|
|
"",
|
|
`${location.pathname}?uid=${ausweis.uid}`
|
|
);
|
|
}
|
|
}
|
|
|
|
let loginOverlayHidden = true;
|
|
</script>
|
|
|
|
<div class="grid grid-cols-1 grid-rows-[min_content_1fr] gap-x-2 gap-y-1 self-start mt-0
|
|
sm:grid-cols-[1fr_min-content_min-content_min-content] sm:justify-self-end sm:mt-8">
|
|
|
|
<div></div>
|
|
|
|
<Hilfe />
|
|
|
|
<button class="button" type="button" on:click={spaeterWeitermachen}
|
|
>Später Weitermachen
|
|
</button>
|
|
|
|
<div>
|
|
<Overlay bind:hidden={loginOverlayHidden}>
|
|
<div class="bg-white w-full max-w-screen-sm py-8">
|
|
<EmbeddedAuthFlowModule onLogin={ausweisAbschicken}></EmbeddedAuthFlowModule>
|
|
</div>
|
|
</Overlay>
|
|
|
|
<button on:click={ausweisAbschicken} type="button" class="button" data-cy="weiter">Weiter</button>
|
|
</div>
|
|
</div>
|