From 9951179b2a9a8e7332e394af7effaa118b64311b Mon Sep 17 00:00:00 2001 From: Moritz Utcke Date: Mon, 17 Feb 2025 20:46:27 +1100 Subject: [PATCH] Bestellen auf Rechnung --- build.sh | 2 +- src/astro-typesafe-api-caller.ts | 2 +- src/components/Ausweis/Verbrauch.svelte | 6 +- src/components/AusweisPruefenBox.svelte | 30 ++++---- src/components/AusweisPruefenTooltip.svelte | 4 ++ src/layouts/UserLayout.astro | 14 +--- .../DashboardAusweisePruefenModule.svelte | 25 +++++-- src/modules/KaufabschlussModule.svelte | 11 ++- src/modules/KundendatenModule.svelte | 18 +++-- src/modules/PaymentSuccessModule.svelte | 13 ++++ src/pages/api/rechnung/index.ts | 6 +- src/pages/bilder/[uid].webp.ts | 69 ++++++++++++------- src/pages/dashboard/ausweise-pruefen.astro | 59 ++++++++++++++++ src/pages/dashboard/index.astro | 2 +- src/pages/kundendaten.astro | 2 +- src/pages/payment/success.astro | 15 ++-- 16 files changed, 198 insertions(+), 80 deletions(-) create mode 100644 src/modules/PaymentSuccessModule.svelte create mode 100644 src/pages/dashboard/ausweise-pruefen.astro diff --git a/build.sh b/build.sh index 55a6df4c..f261d1a5 100644 --- a/build.sh +++ b/build.sh @@ -39,7 +39,7 @@ bun link @ibcornelsen/database PERSISTENT_DIR="${HOME}/persistent/${APP_NAME}"; mkdir -p $PERSISTENT_DIR; -# TODO: Wir legen hier die .env Datei an, die die SSL Zertifikate enthält. +# Wir legen hier die .env Datei an, die die SSL Zertifikate enthält. rm -f ~/$APP_NAME/.env; touch ~/$APP_NAME/.env; echo "PRIVATE_KEY=$(cat /etc/letsencrypt/live/ibcornelsen.de/privkey.pem | base64 | tr -d '\n')" >> ~/$APP_NAME/.env; diff --git a/src/astro-typesafe-api-caller.ts b/src/astro-typesafe-api-caller.ts index 34400f59..1724bc14 100644 --- a/src/astro-typesafe-api-caller.ts +++ b/src/astro-typesafe-api-caller.ts @@ -5,10 +5,10 @@ export const createCaller = createCallerFactory({ "postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"), "aufnahme/[uid]": await import("../src/pages/api/aufnahme/[uid].ts"), "aufnahme": await import("../src/pages/api/aufnahme/index.ts"), - "bilder/[uid]": await import("../src/pages/api/bilder/[uid].ts"), "auth/access-token": await import("../src/pages/api/auth/access-token.ts"), "auth/forgot-password": await import("../src/pages/api/auth/forgot-password.ts"), "auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"), + "bilder/[uid]": await import("../src/pages/api/bilder/[uid].ts"), "bedarfsausweis-wohnen/[uid]": await import("../src/pages/api/bedarfsausweis-wohnen/[uid].ts"), "bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"), "objekt": await import("../src/pages/api/objekt/index.ts"), diff --git a/src/components/Ausweis/Verbrauch.svelte b/src/components/Ausweis/Verbrauch.svelte index 3c8f7da9..3a53f0ed 100644 --- a/src/components/Ausweis/Verbrauch.svelte +++ b/src/components/Ausweis/Verbrauch.svelte @@ -11,7 +11,6 @@ ObjektClient, VerbrauchsausweisWohnenClient, } from "./types.js"; - import { addNotification } from "#components/Notifications/shared.js"; export let objekt: ObjektClient; export let aufnahme: AufnahmeClient; @@ -20,6 +19,7 @@ // Wir dürfen bis zu 4.5 Jahre alte Klimafaktoren benutzen, also nehmen wir alle Monate seitdem und generieren daraus die Auswahl. // Allerdings müssen wir auch berücksichtigen, dass wir drei folgende Jahre brauchen, also // kann der Nutzer nur 36 + 18 Monate zurückgehen. + let availableDates: { year: number; month: number; @@ -62,8 +62,8 @@ fuelMap[fuel[0]].push(fuel[1]); } - let month = ausweis.startdatum?.getMonth(); - let year = ausweis.startdatum?.getFullYear(); + let month = moment(ausweis.startdatum).month(); + let year = moment(ausweis.startdatum).year(); $: { if (typeof month === "number" && typeof year === "number") { diff --git a/src/components/AusweisPruefenBox.svelte b/src/components/AusweisPruefenBox.svelte index 5107b473..c272f04c 100644 --- a/src/components/AusweisPruefenBox.svelte +++ b/src/components/AusweisPruefenBox.svelte @@ -2,27 +2,31 @@ import { endEnergieVerbrauchVerbrauchsausweis_2016 } from "#lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.js"; import moment from "moment"; import { + AufnahmeClient, + getAusweisartFromUUID, + ObjektClient, + UploadedGebaeudeBild, VerbrauchsausweisWohnenClient, } from "./Ausweis/types.js"; import AusweisPruefenTooltip from "./AusweisPruefenTooltip.svelte"; import { addNotification } from "./NotificationProvider/shared.js"; import { CheckCircled, CrossCircled, Image } from "radix-svelte-icons"; import ChevronDown from "radix-svelte-icons/src/lib/icons/ChevronDown.svelte"; + import { Event } from "@ibcornelsen/database/client"; export let ausweis: VerbrauchsausweisWohnenClient; + export let aufnahme: AufnahmeClient; + export let objekt: ObjektClient; + export let bilder: UploadedGebaeudeBild[] + export let events: Event[] export let calculations: Awaited< ReturnType >; - console.log(ausweis); - - const aufnahme = ausweis.aufnahme - const ausweisArt = "VA"; // TODO: Das ist ein Platzhalter, hier muss die Ausweisart aus dem Ausweisobjekt kommen - - const images = ausweis.aufnahme.objekt.gebaeude_bilder; + const ausweisArt = getAusweisartFromUUID(ausweis.uid) // TODO: Das ist ein Platzhalter, hier muss die Ausweisart aus dem Ausweisobjekt kommen let verbrauchWWGesamt_1 = ""; let verbrauchWWGesamt_2 = ""; @@ -145,13 +149,13 @@ ) { if (aufnahme.solarsystem_warmwasser) { // Wenn Warmwasser enthalten und Anteil bekannt und Solarsystem - verbrauchWWGesamt_1 = `${calculations?.energieVerbrauchGesamt_1} kWh x ${ausweis.anteil_warmwasser_1 / 100} x 0.6`; - verbrauchWWGesamt_2 = `${calculations?.energieVerbrauchGesamt_2} kWh x ${ausweis.anteil_warmwasser_2 / 100} x 0.6`; + verbrauchWWGesamt_1 = `${calculations?.energieVerbrauchGesamt_1} kWh x ${(ausweis.anteil_warmwasser_1 || 0) / 100} x 0.6`; + verbrauchWWGesamt_2 = `${calculations?.energieVerbrauchGesamt_2} kWh x ${(ausweis.anteil_warmwasser_2 || 0) / 100} x 0.6`; solarsystemWarmwasser = "Solarsystem Warmwasser"; } else { // Wenn Warmwasser enthalten und Anteil bekannt und **kein** Solarsystem - verbrauchWWGesamt_1 = `${calculations?.energieVerbrauchGesamt_1} kWh x ${ausweis.anteil_warmwasser_1 / 100} x 0.6` - verbrauchWWGesamt_2 = `${calculations?.energieVerbrauchGesamt_2} kWh x ${ausweis.anteil_warmwasser_2 / 100} x 0.6` + verbrauchWWGesamt_1 = `${calculations?.energieVerbrauchGesamt_1} kWh x ${(ausweis.anteil_warmwasser_1 || 0) / 100} x 0.6` + verbrauchWWGesamt_2 = `${calculations?.energieVerbrauchGesamt_2} kWh x ${(ausweis.anteil_warmwasser_2 || 0) / 100} x 0.6` solarsystemWarmwasser = "kein Solarsystem Warmwasser"; } } else { @@ -674,13 +678,13 @@