diff --git a/persistent/images/img-53cc77f5-940f-4fcb-b21c-fb46e1d6aaaf.webp b/persistent/images/img-53cc77f5-940f-4fcb-b21c-fb46e1d6aaaf.webp new file mode 100644 index 00000000..641c1e02 Binary files /dev/null and b/persistent/images/img-53cc77f5-940f-4fcb-b21c-fb46e1d6aaaf.webp differ diff --git a/persistent/images/img-694ca166-c339-44df-9240-0bb642291459.webp b/persistent/images/img-694ca166-c339-44df-9240-0bb642291459.webp new file mode 100644 index 00000000..641c1e02 Binary files /dev/null and b/persistent/images/img-694ca166-c339-44df-9240-0bb642291459.webp differ diff --git a/persistent/images/img-85f8a7cd-7351-408f-8576-6d7b9d0ac82b.webp b/persistent/images/img-85f8a7cd-7351-408f-8576-6d7b9d0ac82b.webp new file mode 100644 index 00000000..fffe32ba Binary files /dev/null and b/persistent/images/img-85f8a7cd-7351-408f-8576-6d7b9d0ac82b.webp differ diff --git a/persistent/images/img-a4e04cf7-9443-4462-9582-3c18b33ef711.webp b/persistent/images/img-a4e04cf7-9443-4462-9582-3c18b33ef711.webp new file mode 100644 index 00000000..099f2286 Binary files /dev/null and b/persistent/images/img-a4e04cf7-9443-4462-9582-3c18b33ef711.webp differ diff --git a/persistent/images/img-a50b7f82-0add-4e3a-bb42-3f9b2e49936a.webp b/persistent/images/img-a50b7f82-0add-4e3a-bb42-3f9b2e49936a.webp new file mode 100644 index 00000000..641c1e02 Binary files /dev/null and b/persistent/images/img-a50b7f82-0add-4e3a-bb42-3f9b2e49936a.webp differ diff --git a/persistent/images/img-af39ffd3-389b-43a4-9afb-5e82020dc5b0.webp b/persistent/images/img-af39ffd3-389b-43a4-9afb-5e82020dc5b0.webp new file mode 100644 index 00000000..641c1e02 Binary files /dev/null and b/persistent/images/img-af39ffd3-389b-43a4-9afb-5e82020dc5b0.webp differ diff --git a/persistent/images/img-e7269e2e-de35-491a-b24e-76bde9d88ac0.webp b/persistent/images/img-e7269e2e-de35-491a-b24e-76bde9d88ac0.webp new file mode 100644 index 00000000..641c1e02 Binary files /dev/null and b/persistent/images/img-e7269e2e-de35-491a-b24e-76bde9d88ac0.webp differ diff --git a/server.ts b/server.ts index 72120f8c..2c56f4f3 100644 --- a/server.ts +++ b/server.ts @@ -6,9 +6,9 @@ const app = express(); const base = '/'; app.use(base, express.static('dist/client/')); app.use(ssrHandler); +app.use(express.json({ limit: "50mb" })) +app.use(express.urlencoded({ limit: "50mb" })) app.listen(80, function() { console.log('Server started on http://localhost:80'); -}); - - +}); \ No newline at end of file diff --git a/src/astro-typesafe-api-caller.ts b/src/astro-typesafe-api-caller.ts index d8a142b6..7e7e52d5 100644 --- a/src/astro-typesafe-api-caller.ts +++ b/src/astro-typesafe-api-caller.ts @@ -1,8 +1,12 @@ import { createCallerFactory } from "astro-typesafe-api/server"; export const createCaller = createCallerFactory({ + "bild": await import("../src/pages/api/bild.ts"), "klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"), "postleitzahlen": await import("../src/pages/api/postleitzahlen.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"), "admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"), "admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"), "admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"), @@ -10,24 +14,22 @@ export const createCaller = createCallerFactory({ "admin/post-ausstellen": await import("../src/pages/api/admin/post-ausstellen.ts"), "admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"), "aufnahme": await import("../src/pages/api/aufnahme/index.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"), "bedarfsausweis-wohnen/[uid]": await import("../src/pages/api/bedarfsausweis-wohnen/[uid].ts"), "bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"), "bilder/[uid]": await import("../src/pages/api/bilder/[uid].ts"), "geg-nachweis-wohnen/[uid]": await import("../src/pages/api/geg-nachweis-wohnen/[uid].ts"), "geg-nachweis-wohnen": await import("../src/pages/api/geg-nachweis-wohnen/index.ts"), "objekt": await import("../src/pages/api/objekt/index.ts"), + "rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"), "rechnung": await import("../src/pages/api/rechnung/index.ts"), "ticket": await import("../src/pages/api/ticket/index.ts"), "user": await import("../src/pages/api/user/index.ts"), "user/self": await import("../src/pages/api/user/self.ts"), "verbrauchsausweis-gewerbe/[uid]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[uid].ts"), "verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"), + "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), "verbrauchsausweis-wohnen/[uid]": await import("../src/pages/api/verbrauchsausweis-wohnen/[uid].ts"), "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), - "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), "aufnahme/[uid]/bilder": await import("../src/pages/api/aufnahme/[uid]/bilder.ts"), "aufnahme/[uid]": await import("../src/pages/api/aufnahme/[uid]/index.ts"), "objekt/[uid]": await import("../src/pages/api/objekt/[uid]/index.ts"), diff --git a/src/client/lib/ausweisSpeichern.ts b/src/client/lib/ausweisSpeichern.ts index 06b192d5..5084df48 100644 --- a/src/client/lib/ausweisSpeichern.ts +++ b/src/client/lib/ausweisSpeichern.ts @@ -3,14 +3,14 @@ import { api } from "astro-typesafe-api/client" import { exclude } from "#lib/exclude.js"; import Cookies from "js-cookie"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; -import { AufnahmeClient, BedarfsausweisWohnenClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient, } from "#components/Ausweis/types.js"; +import { AufnahmeClient, BedarfsausweisWohnenClient, BildClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient, } from "#components/Ausweis/types.js"; import { Enums } from "@ibcornelsen/database/client"; export async function ausweisSpeichern( ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, objekt: ObjektClient, aufnahme: AufnahmeClient, - bilder: (UploadedGebaeudeBild & { base64?: string })[], + bilder: BildClient[], ausweisart: Enums.Ausweisart ) { if (objekt.uid) { @@ -99,26 +99,15 @@ export async function ausweisSpeichern( ausweis.uid = uid; } - for (const bild of bilder) { - if (bild.uid) { - continue; + await api.aufnahme._uid.bilder.PUT.fetch(bilder.map(bild => bild.uid), { + params: { + uid: aufnahme.uid + }, + headers: { + "Authorization": `Bearer ${Cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)}` } - - const response = await api.aufnahme._uid.bilder.PUT.fetch({ - base64: bild.base64, - kategorie: bild.kategorie - }, { - params: { - uid: aufnahme.uid - }, - headers: { - "Authorization": `Bearer ${Cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)}` - } - }) - - bild.uid = response.uid - } - + }) + return { uid_ausweis: ausweis.uid, uid_aufnahme: aufnahme.uid, diff --git a/src/client/lib/bilderHochladen.ts b/src/client/lib/bilderHochladen.ts index 0595e167..b804b160 100644 --- a/src/client/lib/bilderHochladen.ts +++ b/src/client/lib/bilderHochladen.ts @@ -22,7 +22,7 @@ export async function bilderHochladen( const imagesToUpload = images.filter( (image) => !image.uid || image.update ) as unknown as { - base64: string; + data: string; kategorie: string; uid?: string; update: boolean; @@ -46,7 +46,7 @@ export async function bilderHochladen( try { if (image.update) { await api.bilder._uid.PATCH.fetch({ - base64: image.base64, + data: image.data, kategorie: image.kategorie as Enums.BilderKategorie, }, { params: { @@ -58,7 +58,7 @@ export async function bilderHochladen( }); } else { const response = await api.aufnahme._uid.bilder.PUT.fetch({ - base64: image.base64, + data: image.data, kategorie: image.kategorie as Enums.BilderKategorie }, { params: { diff --git a/src/client/lib/validateAccessToken.ts b/src/client/lib/validateAccessToken.ts index 1fa7c42e..8c43bdf7 100644 --- a/src/client/lib/validateAccessToken.ts +++ b/src/client/lib/validateAccessToken.ts @@ -38,6 +38,7 @@ export async function validateAccessTokenClient() { const { accessToken: newAccessToken, accessTokenExpiry, refreshToken: newRefreshToken, refreshTokenExpiry } = await api.auth["access-token"].GET.fetch({ refreshToken }) + Cookies.set(API_ACCESS_TOKEN_COOKIE_NAME, newAccessToken, { domain: `.${window.location.hostname}`, diff --git a/src/components/AnsichtsausweisButton.svelte b/src/components/AnsichtsausweisButton.svelte index df327808..6ab5c369 100644 --- a/src/components/AnsichtsausweisButton.svelte +++ b/src/components/AnsichtsausweisButton.svelte @@ -11,12 +11,12 @@ export let ausweisart: Enums.Ausweisart - - - - - - diff --git a/src/components/Ausweis/ButtonWeiterHilfe.svelte b/src/components/Ausweis/ButtonWeiterHilfe.svelte index 183e4149..94777702 100644 --- a/src/components/Ausweis/ButtonWeiterHilfe.svelte +++ b/src/components/Ausweis/ButtonWeiterHilfe.svelte @@ -1,12 +1,13 @@ @@ -68,19 +76,100 @@ sm:grid-cols-[1fr_min-content_min-content_min-content] sm:justify-self-end sm:mt
- +
+ +
+ + {#if showHelp} +
+
+
+ Gerne helfen wir Ihnen wenn Sie nicht weiterkommen oder Fragen + haben. Kurze Fragen zum Formular oder der Ausweisart werden + kostenfrei telefonisch unter 040/209339850 beantwortet (bis 5min). Sollten Sie Unterstützung bei der Erstellung + benötgen oder lieber die Arbeit von unserem Ingenieurbüro erledigen + lassen, bieten wir Ihnen folgende Hilfen an. Bitte treffen Sie Ihre + Auswahl und klicken auf weiter: +
+ +
+ +
+ + +
+ Verbrauchsausweis online inkl. ausführlicher telefonischer + Beratung +
+ +
+ {PRICES[ausweisart][Enums.AusweisTyp.Beratung]} € inkl. MwSt. +
+
+ +
+ + +
+ Verbrauchsausweis offline (Sie schicken uns 3 + Verbrauchsabrechnungen zu) +
+ +
+ {PRICES[ausweisart][Enums.AusweisTyp.Offline]} € inkl. MwSt. +
+
+ +
+ + + + +
+
+ {/if} + + {#if showWeiter}
- +
+ {/if} diff --git a/src/components/Ausweis/Hilfe.svelte b/src/components/Ausweis/Hilfe.svelte deleted file mode 100644 index cce9fb9d..00000000 --- a/src/components/Ausweis/Hilfe.svelte +++ /dev/null @@ -1,89 +0,0 @@ - - -
- -
- -{#if showHelp} -
- -
-
- Gerne helfen wir Ihnen wenn Sie nicht weiterkommen oder Fragen - haben. Kurze Fragen zum Formular oder der Ausweisart werden - kostenfrei telefonisch unter 040/209339850 beantwortet (bis 5min). Sollten Sie Unterstützung bei der Erstellung - benötgen oder lieber die Arbeit von unserem Ingenieurbüro erledigen - lassen, bieten wir Ihnen folgende Hilfen an. Bitte treffen Sie Ihre - Auswahl und klicken auf weiter: -
- -
- -
- - - -
- Verbrauchsausweis online inkl. ausführlicher telefonischer Beratung -
- -
- {PRICES.VerbrauchsausweisWohnen[1]} € inkl. MwSt. -
- -
- -
- - - -
- Verbrauchsausweis offline (Sie schicken uns 3 Verbrauchsabrechnungen zu) -
- -
- {PRICES.VerbrauchsausweisWohnen[2]} € inkl. MwSt. -
- -
- -
- - - - -
- - -
- - - - - - {/if} - diff --git a/src/components/Ausweis/Rechnungsadresse.svelte b/src/components/Ausweis/Rechnungsadresse.svelte index 8ffa6a69..7ec56e68 100644 --- a/src/components/Ausweis/Rechnungsadresse.svelte +++ b/src/components/Ausweis/Rechnungsadresse.svelte @@ -1,140 +1,142 @@ -
+" +> + - +
+ -
- - - +
- - Bitte geben Sie den Empfänger ein, auf den die Rechnung ausgestellt wird. - -
-
- - - -
- - - - -
- - Bitte geben Sie die Strasse und Hausnummer, so wie Sie auf der Rechnung erscheinen soll, ein. - -
-
- - - -
- -
- - - - -
- -
- - - - -
- - Bitte geben Sie die PLZ des Ortes, so wie Sie auf der Rechnung erscheinen soll, ein. - + + Bitte geben Sie den Empfänger ein, auf den die Rechnung + ausgestellt wird. +
-
+
-
+ - +
+ -
- - - +
+ + Bitte geben Sie die Strasse und Hausnummer, so wie Sie auf der + Rechnung erscheinen soll, ein. + +
+
+ + + +
+
+ + +
+ +
+ + + + +
- Bitte geben Sie, falls erforderlich, zusätzliche nformationen ein. + Bitte geben Sie die PLZ des Ortes, so wie Sie auf der + Rechnung erscheinen soll, ein.
-
+
+
- + -
- +
+ - +
- - Bitte geben Sie die E-Mail Adresse des Rechnungsempfängers ein. - -
-
+ + Bitte geben Sie, falls erforderlich, zusätzliche nformationen + ein. + +
+
- + +
+ + + + +
+ + Bitte geben Sie die E-Mail Adresse des Rechnungsempfängers ein. + +
+
+ + -
+
+
+ -
+ +
+
- + {#if rechnung.abweichende_versand_adresse} + - +
+ -
+ -
- -{#if rechnung.abweichende_versand_adresse} - - - -
- - - - -
+
Bitte geben Sie den Namen des Versand-Empfängers ein.
-
- - - -
- - - - -
- - Bitte geben Sie die Versand-Empfänger Strasse und Hausnummer ein, an die die Rechnung versandt wird. - -
-
- - - -
- -
- - - - -
- -
- - - - -
- - Bitte geben Sie die Versand-Empfänger PLZ des Ortes ein, an den die Rechnung versandt wird. -
-
-
+ - +
+ -
- + - - -
+
- Bitte geben Sie, falls erforderlich, zusätzliche nformationen ein. + Bitte geben Sie die Versand-Empfänger Strasse und Hausnummer + ein, an die die Rechnung versandt wird.
-
+
- + -
- +
+
+ + +
- +
+ -
+ + +
+ + Bitte geben Sie die Versand-Empfänger PLZ des Ortes ein, + an den die Rechnung versandt wird. + +
+
+
+ + + +
+ + + + +
- Bitte geben Sie die E-Mail Adresse des Versand-Empfängers ein. + Bitte geben Sie, falls erforderlich, zusätzliche + nformationen ein.
-
+
- + +
+ + + + +
+ + Bitte geben Sie die E-Mail Adresse des Versand-Empfängers + ein. + +
+
+ + - -{/if } - -
\ No newline at end of file + {/if} +
diff --git a/src/components/Ausweis/StromVerbrauch.svelte b/src/components/Ausweis/StromVerbrauch.svelte index a59deeae..4a17e979 100644 --- a/src/components/Ausweis/StromVerbrauch.svelte +++ b/src/components/Ausweis/StromVerbrauch.svelte @@ -6,21 +6,14 @@ import VerbrauchsHelpLabel from "#components/labels/VerbrauchsHelpLabel.svelte"; import StromVerbrauchsHelpLabel from "#components/labels/StromVerbrauchsHelpLabel.svelte"; import SanierungsOption from "#components/Ausweis/SanierungsOption.svelte" - - - import Label from "../Label.svelte"; - import moment from "moment"; import fuelList from "./brennstoffListe.js"; import { auditVerbrauchAbweichung } from "../Verbrauchsausweis/audits/VerbrauchAbweichung.js"; import { AufnahmeClient, - ObjektClient, VerbrauchsausweisGewerbeClient, } from "./types.js"; - import { addNotification } from "#components/Notifications/shared.js"; - export let objekt: ObjektClient; export let aufnahme: AufnahmeClient; export let ausweis: VerbrauchsausweisGewerbeClient; @@ -46,7 +39,7 @@ "November", "Dezember", ]; - + const startDate = moment( aufnahme.erstellungsdatum || Date.now() ) @@ -70,8 +63,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") { @@ -86,6 +79,11 @@ } } + $: { + console.log(aufnahme.brennstoff_1); + + } + $: abweichung = auditVerbrauchAbweichung(ausweis, aufnahme); @@ -216,7 +214,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
- + zusätzliche Heizquelle - {/if}
@@ -145,6 +144,8 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8 gemacht werden, da alle 3 Verbrauchsjahre zusammenhängend sein sollen.
+ {/if} +
diff --git a/src/components/Ausweis/types.ts b/src/components/Ausweis/types.ts index dbb63294..5884588e 100644 --- a/src/components/Ausweis/types.ts +++ b/src/components/Ausweis/types.ts @@ -18,7 +18,7 @@ import { z, ZodSchema } from "zod"; export type OmitKeys = Omit; export type UploadedGebaeudeBild = OmitKeys & { - base64: string + data: string } /** @@ -153,23 +153,23 @@ export function getAusweisartFromUUID(uid: string): Enums.Ausweisart | null { return null; } -export type UnterlageClient = Omit -export type BildClient = Omit +export type UnterlageClient = Omit +export type BildClient = Omit export type ObjektKomplettClient = ObjektClient & { - bilder: BildClient[], - unterlagen: UnterlageClient[], - aufnahmen: (AufnahmeClient & { - bedarfsausweis_wohnen?: BedarfsausweisWohnenClient, - verbrauchsausweis_wohnen?: VerbrauchsausweisWohnenClient, - verbrauchsausweis_gewerbe?: VerbrauchsausweisGewerbeClient - })[] + aufnahmen: AufnahmeKomplettClient[] } export type AufnahmeKomplettClient = AufnahmeClient & { - bedarfsausweis_wohnen: BedarfsausweisWohnenClient[], - verbrauchsausweis_wohnen: VerbrauchsausweisWohnenClient[], - verbrauchsausweis_gewerbe: VerbrauchsausweisGewerbeClient[] + bilder: BildClient[], + unterlagen: UnterlageClient[], + bedarfsausweis_wohnen?: BedarfsausweisWohnenClient, + verbrauchsausweis_wohnen?: VerbrauchsausweisWohnenClient, + verbrauchsausweis_gewerbe?: VerbrauchsausweisGewerbeClient } -export type GEGNachweisWohnenClient = Omit \ No newline at end of file +export type GEGNachweisWohnenClient = Omit & { + uid_objekt: string, + uid_aufnahme: string, + uid_benutzer?: string +} \ No newline at end of file diff --git a/src/components/Dashboard/DashboardAusweis.svelte b/src/components/Dashboard/DashboardAusweis.svelte index f172364e..bf034c34 100644 --- a/src/components/Dashboard/DashboardAusweis.svelte +++ b/src/components/Dashboard/DashboardAusweis.svelte @@ -191,7 +191,7 @@
Bearbeiten

Falls sie dort nicht finden wonach sie suchen, rufen sie uns doch - unter 040 220 31 87 an oder - schreiben sie uns eine email040 209 339 850 an oder + schreiben sie uns eine email.

diff --git a/src/components/Dashboard/DashboardObjekt.svelte b/src/components/Dashboard/DashboardObjekt.svelte index 83815174..c3f9a65e 100644 --- a/src/components/Dashboard/DashboardObjekt.svelte +++ b/src/components/Dashboard/DashboardObjekt.svelte @@ -6,8 +6,7 @@ export let objekt: ObjektKomplettClient; - // TODO - const objektBild = objekt.bilder.find(bild => bild.kategorie === Enums.BilderKategorie.Gebaeude); + const objektBild = objekt.aufnahmen[0].bilder.find(bild => bild.kategorie === Enums.BilderKategorie.Gebaeude);

diff --git a/src/components/DatenblattButton.svelte b/src/components/DatenblattButton.svelte index 94e91c8e..512665c3 100644 --- a/src/components/DatenblattButton.svelte +++ b/src/components/DatenblattButton.svelte @@ -14,12 +14,12 @@ -
\ No newline at end of file diff --git a/src/components/UploadImages.svelte b/src/components/UploadImages.svelte index a14c6af3..51c07832 100644 --- a/src/components/UploadImages.svelte +++ b/src/components/UploadImages.svelte @@ -4,29 +4,39 @@ export let max: number = 2; export let min: number = 1; - export let name: string = "" + export let name: string = ""; // Array of base64 encoded images read into the input. - import { BedarfsausweisWohnenClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "./Ausweis/types.js"; + import { + BedarfsausweisWohnenClient, + BildClient, + ObjektClient, + UploadedGebaeudeBild, + VerbrauchsausweisGewerbeClient, + VerbrauchsausweisWohnenClient, + } from "./Ausweis/types.js"; + import { api } from "astro-typesafe-api/client"; - export let images: UploadedGebaeudeBild[] = []; - export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient; + export let images: BildClient[] = []; + export let ausweis: + | VerbrauchsausweisWohnenClient + | VerbrauchsausweisGewerbeClient + | BedarfsausweisWohnenClient; export let objekt: ObjektClient; export let kategorie: Enums.BilderKategorie; function getAllImages(this: HTMLInputElement) { const files = this.files || []; - if (images.length == max) { + if (images.filter((img) => img.kategorie === kategorie).length == max) { this.value = ""; return; } - + for (let i = 0; i < files.length; i++) { const file = files[i]; - if ((file.type !== "image/jpeg") && (file.type !== "image/png")) { - i--; + if (file.type !== "image/jpeg" && file.type !== "image/png") { continue; } @@ -59,22 +69,32 @@ if (!ctx) { return; } - ctx.drawImage(image, 0, 0, image.naturalWidth, image.naturalHeight); + ctx.drawImage( + image, + 0, + 0, + image.naturalWidth, + image.naturalHeight + ); // Get the scaled-down data from the canvas in the desired output format and quality const dataURL = canvas.toDataURL("image/jpeg", 0.8); - images.push({ base64: dataURL as string, kategorie }); - images = images; - + const { uid } = await api.bild.PUT.fetch({ + data: dataURL, + kategorie + }) - if (i == (Math.min(files.length, max) - 1)) { + images.push({ uid, kategorie }); + images = images; + + if (i == Math.min(files.length, max) - 1) { this.value = ""; } - } - + }; + image.src = url; - } + }; reader.readAsArrayBuffer(file); } @@ -83,31 +103,44 @@ let fileUpload: HTMLInputElement; export const upload = () => { - fileUpload.click() - } + fileUpload.click(); + }; {#if images.filter((image) => image.kategorie === kategorie).length === max} - Maximale Anzahl Bilder wurde erreicht. + Maximale Anzahl Bilder wurde erreicht. {:else if max > 1} -
- -
- - - +
+ +
+ + + +
- -
{:else} -
- -
- - - +
+ +
+ + + +
- -
-{/if} \ No newline at end of file +{/if} diff --git a/src/components/design/sidebars/cards/cardPriceiInfo.svelte b/src/components/design/sidebars/cards/cardPriceiInfo.svelte index d6cb24f3..4800ac3e 100644 --- a/src/components/design/sidebars/cards/cardPriceiInfo.svelte +++ b/src/components/design/sidebars/cards/cardPriceiInfo.svelte @@ -24,7 +24,7 @@
GEG-Nachweis Wohngebäude
-
ab 000€ inkl. MwSt.
+
ab {PRICES.GEGNachweisWohnen[0]}€ inkl. MwSt.

GEG-Nachweis Gewerbe
diff --git a/src/components/labels/InputLabel.svelte b/src/components/labels/InputLabel.svelte index 2cc68382..82444fe2 100644 --- a/src/components/labels/InputLabel.svelte +++ b/src/components/labels/InputLabel.svelte @@ -4,8 +4,7 @@ -
{title}
- +
{title}