diff --git a/.gitignore b/.gitignore index 5271c4c5..75c7d13a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,28 +1,32 @@ -# build output -dist/ - -# generated types -.astro/ - -# log files -logs/ - -# dependencies -node_modules/ - -# logs -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* - -# lockfile -pnpm-lock.yaml -bun.lockb - -# environment variables -.env -.env.production - -# macOS-specific files -.DS_Store +# build output +dist/ + +# generated types +.astro/ + +# log files +logs/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# lockfile +pnpm-lock.yaml +bun.lockb + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +public/fonts/ + +*.Identifier diff --git a/package.json b/package.json index f9e1674d..f862e9c6 100644 --- a/package.json +++ b/package.json @@ -1,86 +1,86 @@ -{ - "name": "online-energieausweis", - "version": "0.0.1", - "license": "GPL V3.0", - "type": "module", - "scripts": { - "dev": "bun astro dev", - "build": "bun astro build", - "preview": "bun astro preview", - "astro": "astro", - "test:e2e": "cypress run", - "test:unit": "bun test", - "format": "prettier --write .", - "build:production": "astro build && bun --bun server.ts", - "i18n:generate": "bunx astro-i18next generate", - "prisma:studio": "bunx prisma studio --schema=./node_modules/@ibcornelsen/database/prisma/schema.prisma" - }, - "private": true, - "dependencies": { - "@astrojs/mdx": "^3.1.9", - "@astrojs/node": "^8.3.4", - "@astrojs/svelte": "^2.2.0", - "@astrojs/tailwind": "^3.1.3", - "@ibcornelsen/api": "link:@ibcornelsen/api", - "@ibcornelsen/database": "link:@ibcornelsen/database", - "@ibcornelsen/ui": "^0.0.2", - "@mollie/api-client": "^3.7.0", - "@pdfme/common": "^5.1.7", - "@pdfme/generator": "^5.1.7", - "@pdfme/ui": "^5.1.7", - "@trpc/client": "^10.45.2", - "@trpc/server": "^10.45.2", - "astro": "^4.16.10", - "astro-i18next": "1.0.0-beta.21", - "body-scroll-lock": "^4.0.0-beta.0", - "buffer": "^6.0.3", - "bun": "^1.1.34", - "caniuse-lite": "^1.0.30001684", - "csvtojson": "^2.0.10", - "express": "^4.21.1", - "flag-icons": "^6.15.0", - "fontkit": "^2.0.4", - "i18next": "^23.16.5", - "i18next-fs-backend": "^2.3.2", - "i18next-http-backend": "^2.6.2", - "js-cookie": "^3.0.5", - "js-interpolate": "^1.0.1", - "katex": "^0.16.11", - "moment": "^2.30.1", - "moment-timezone": "^0.5.46", - "postcss-nested": "^7.0.2", - "radix-svelte-icons": "^1.0.0", - "sass": "^1.80.6", - "svelte": "^3.59.2", - "svelte-dialogs": "^1.2.2", - "svelte-preprocess": "^5.1.4", - "svelte-ripple-action": "^1.0.6", - "tailwindcss": "^3.4.14", - "trpc-openapi": "^1.2.0", - "uuid": "^9.0.1", - "zod": "^3.23.8" - }, - "devDependencies": { - "@faker-js/faker": "^8.4.1", - "@tailwindcss/typography": "^0.5.15", - "@types/body-scroll-lock": "^3.1.2", - "@types/express": "^5.0.0", - "@types/fontkit": "^2.0.7", - "@types/js-cookie": "^3.0.6", - "@types/uuid": "^9.0.8", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "autoprefixer": "^10.4.20", - "bun-types": "^1.1.34", - "cypress": "^13.15.2", - "cypress-file-upload": "^5.0.8", - "daisyui": "^4.12.14", - "eslint": "~8.15.0", - "eslint-config-prettier": "8.1.0", - "postcss": "^8.4.49", - "postcss-import": "^16.1.0", - "postcss-nesting": "^13.0.1", - "prettier": "^2.8.8", - "typescript": "^4.9.5" - } -} +{ + "name": "online-energieausweis", + "version": "0.0.1", + "license": "GPL V3.0", + "type": "module", + "scripts": { + "dev": "bun astro dev", + "build": "bun astro build", + "preview": "bun astro preview", + "astro": "astro", + "test:e2e": "cypress run", + "test:unit": "bun test", + "format": "prettier --write .", + "build:production": "astro build && bun --bun server.ts", + "i18n:generate": "bunx astro-i18next generate", + "prisma:studio": "bunx prisma studio --schema=./node_modules/@ibcornelsen/database/prisma/schema.prisma" + }, + "private": true, + "dependencies": { + "@astrojs/mdx": "^3.1.9", + "@astrojs/node": "^8.3.4", + "@astrojs/svelte": "^2.2.0", + "@astrojs/tailwind": "^3.1.3", + "@ibcornelsen/api": "link:@ibcornelsen/api", + "@ibcornelsen/database": "link:@ibcornelsen/database", + "@ibcornelsen/ui": "^0.0.2", + "@mollie/api-client": "^3.7.0", + "@pdfme/common": "^5.1.7", + "@pdfme/generator": "^5.1.7", + "@pdfme/ui": "^5.1.7", + "@trpc/client": "^10.45.2", + "@trpc/server": "^10.45.2", + "astro": "^4.16.10", + "astro-i18next": "1.0.0-beta.21", + "body-scroll-lock": "^4.0.0-beta.0", + "buffer": "^6.0.3", + "bun": "^1.1.34", + "caniuse-lite": "^1.0.30001684", + "csvtojson": "^2.0.10", + "express": "^4.21.1", + "flag-icons": "^6.15.0", + "fontkit": "^2.0.4", + "i18next": "^23.16.5", + "i18next-fs-backend": "^2.3.2", + "i18next-http-backend": "^2.6.2", + "js-cookie": "^3.0.5", + "js-interpolate": "^1.0.1", + "katex": "^0.16.11", + "moment": "^2.30.1", + "moment-timezone": "^0.5.46", + "postcss-nested": "^7.0.2", + "radix-svelte-icons": "^1.0.0", + "sass": "^1.80.6", + "svelte": "^3.59.2", + "svelte-dialogs": "^1.2.2", + "svelte-preprocess": "^5.1.4", + "svelte-ripple-action": "^1.0.6", + "tailwindcss": "^3.4.14", + "trpc-openapi": "^1.2.0", + "uuid": "^9.0.1", + "zod": "^3.23.8" + }, + "devDependencies": { + "@faker-js/faker": "^8.4.1", + "@tailwindcss/typography": "^0.5.15", + "@types/body-scroll-lock": "^3.1.2", + "@types/express": "^5.0.0", + "@types/fontkit": "^2.0.7", + "@types/js-cookie": "^3.0.6", + "@types/uuid": "^9.0.8", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "autoprefixer": "^10.4.20", + "bun-types": "^1.1.34", + "cypress": "^13.15.2", + "cypress-file-upload": "^5.0.8", + "daisyui": "^4.12.14", + "eslint": "~8.15.0", + "eslint-config-prettier": "8.1.0", + "postcss": "^8.4.49", + "postcss-import": "^16.1.0", + "postcss-nesting": "^13.0.1", + "prettier": "^2.8.8", + "typescript": "^4.9.5" + } +} diff --git a/public/fonts/Antique-Olive-Std-Compact_3864.ttfZone.Identifier b/public/fonts/Antique-Olive-Std-Compact_3864.ttfZone.Identifier deleted file mode 100644 index 23631344..00000000 --- a/public/fonts/Antique-Olive-Std-Compact_3864.ttfZone.Identifier +++ /dev/null @@ -1,3 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -ReferrerUrl=C:\Users\all\Downloads\antique-olive-std.zip diff --git a/public/fonts/HeronSans-Light.woff2Zone.Identifier b/public/fonts/HeronSans-Light.woff2Zone.Identifier deleted file mode 100644 index ceb1d4ac..00000000 --- a/public/fonts/HeronSans-Light.woff2Zone.Identifier +++ /dev/null @@ -1,3 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -ReferrerUrl=C:\Users\all\Downloads\font (1).zip diff --git a/public/fonts/HeronSans-Regular.eotZone.Identifier b/public/fonts/HeronSans-Regular.eotZone.Identifier deleted file mode 100644 index ceb1d4ac..00000000 --- a/public/fonts/HeronSans-Regular.eotZone.Identifier +++ /dev/null @@ -1,3 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -ReferrerUrl=C:\Users\all\Downloads\font (1).zip diff --git a/public/fonts/HeronSans-Regular.ttfZone.Identifier b/public/fonts/HeronSans-Regular.ttfZone.Identifier deleted file mode 100644 index ceb1d4ac..00000000 --- a/public/fonts/HeronSans-Regular.ttfZone.Identifier +++ /dev/null @@ -1,3 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -ReferrerUrl=C:\Users\all\Downloads\font (1).zip diff --git a/public/fonts/HeronSans-Regular.woff2Zone.Identifier b/public/fonts/HeronSans-Regular.woff2Zone.Identifier deleted file mode 100644 index ceb1d4ac..00000000 --- a/public/fonts/HeronSans-Regular.woff2Zone.Identifier +++ /dev/null @@ -1,3 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -ReferrerUrl=C:\Users\all\Downloads\font (1).zip diff --git a/public/fonts/HeronSans-Regular.woffZone.Identifier b/public/fonts/HeronSans-Regular.woffZone.Identifier deleted file mode 100644 index ceb1d4ac..00000000 --- a/public/fonts/HeronSans-Regular.woffZone.Identifier +++ /dev/null @@ -1,3 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -ReferrerUrl=C:\Users\all\Downloads\font (1).zip diff --git a/public/fonts/HeronSansCond-SemiBold.woff2Zone.Identifier b/public/fonts/HeronSansCond-SemiBold.woff2Zone.Identifier deleted file mode 100644 index ceb1d4ac..00000000 --- a/public/fonts/HeronSansCond-SemiBold.woff2Zone.Identifier +++ /dev/null @@ -1,3 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -ReferrerUrl=C:\Users\all\Downloads\font (1).zip diff --git a/src/client/lib/verbrauchsausweisWohnenSpeichern.ts b/src/client/lib/verbrauchsausweisWohnenSpeichern.ts index 5bf4197e..607e166a 100644 --- a/src/client/lib/verbrauchsausweisWohnenSpeichern.ts +++ b/src/client/lib/verbrauchsausweisWohnenSpeichern.ts @@ -1,86 +1,86 @@ -import { - BenutzerClient, - GebaeudeAufnahmeClient, - GebaeudeClient, - UploadedGebaeudeBild, - VerbrauchsausweisWohnenClient, -} from "#components/Ausweis/types.js"; - -import { exclude } from "#lib/exclude.js"; -import { client } from "src/trpc.js"; -import { bilderHochladen } from "./bilderHochladen.js"; -import { addNotification } from "@ibcornelsen/ui"; - -export async function verbrauchsausweisWohnenSpeichern( - ausweis: VerbrauchsausweisWohnenClient, - gebaeude: GebaeudeClient, - gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient, - images: (UploadedGebaeudeBild & { base64?: string })[], - user: BenutzerClient -) { - if (ausweis.uid) { - // Anscheinend wurde der Ausweis bereits erstellt und hat eine UID. - // Jetzt müssen wir ihn nun nur noch abspeichern. - try { - await client.v1.verbrauchsausweisWohnen[2016].speichern.mutate({ - ...ausweis, - gebaeude_aufnahme_allgemein: { - ...exclude( - gebaeude_aufnahme_allgemein, - ["erstellungsdatum", "events", "ausstellungsdatum", "rechnungen"] - ), - gebaeude_stammdaten: { - ...exclude(gebaeude, [ - "gebaeude_bilder", - ]), - }, - }, - }); - - images = await bilderHochladen(images, gebaeude.uid); - - return { uid: ausweis.uid, gebaeude_uid: gebaeude.uid, gebaeude_aufnahme_uid: gebaeude_aufnahme_allgemein.uid }; - } catch (e) { - // TODO: Ticket mit Fehldermeldung abschicken. - } - } else { - // Wir speichern den Ausweis ab und leiten auf die "ausweis-gespeichert" Seite weiter. - try { - const response = - await client.v1.verbrauchsausweisWohnen[2016].erstellen.mutate({ - ...ausweis, - gebaeude_aufnahme_allgemein: { - ...gebaeude_aufnahme_allgemein, - gebaeude_stammdaten: { - ...gebaeude, - }, - }, - }); - - images = await bilderHochladen(images, response.gebaeude_uid); - - return response; - } catch (e: any) { - await client.v1.tickets.erstellen.mutate({ - titel: "Ausweis konnte nicht gespeichert werden", - beschreibung: e.stack, - email: user.email ?? "", - metadata: JSON.stringify({ - ausweis, - }), - }); - // TODO: Ticket mit Fehldermeldung abschicken. - } - } - - addNotification({ - dismissable: false, - message: - "Ausweis konnte nicht gespeichert werden, bitte versuchen sie es erneut.", - subtext: - "Sollte das Problem weiterhin bestehen, kontaktieren sie bitte den Support.", - timeout: 6000, - type: "error", - }); - return null; -} +import { + BenutzerClient, + GebaeudeAufnahmeClient, + GebaeudeClient, + UploadedGebaeudeBild, + VerbrauchsausweisWohnenClient, +} from "#components/Ausweis/types.js"; + +import { exclude } from "#lib/exclude.js"; +import { client } from "src/trpc.js"; +import { bilderHochladen } from "./bilderHochladen.js"; +import { addNotification } from "@ibcornelsen/ui"; + +export async function verbrauchsausweisWohnenSpeichern( + ausweis: VerbrauchsausweisWohnenClient, + gebaeude: GebaeudeClient, + gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient, + images: (UploadedGebaeudeBild & { base64?: string })[], + user: BenutzerClient +) { + if (ausweis.uid) { + // Anscheinend wurde der Ausweis bereits erstellt und hat eine UID. + // Jetzt müssen wir ihn nun nur noch abspeichern. + try { + await client.v1.verbrauchsausweisWohnen[2016].speichern.mutate({ + ...ausweis, + gebaeude_aufnahme_allgemein: { + ...exclude( + gebaeude_aufnahme_allgemein, + ["erstellungsdatum", "events", "ausstellungsdatum", "rechnungen"] + ), + gebaeude_stammdaten: { + ...exclude(gebaeude, [ + "gebaeude_bilder", + ]), + }, + }, + }); + + images = await bilderHochladen(images, gebaeude.uid); + + return { uid: ausweis.uid, gebaeude_uid: gebaeude.uid, gebaeude_aufnahme_uid: gebaeude_aufnahme_allgemein.uid }; + } catch (e) { + // TODO: Ticket mit Fehldermeldung abschicken. + } + } else { + // Wir speichern den Ausweis ab und leiten auf die "ausweis-gespeichert" Seite weiter. + try { + const response = + await client.v1.verbrauchsausweisWohnen[2016].erstellen.mutate({ + ...ausweis, + gebaeude_aufnahme_allgemein: { + ...gebaeude_aufnahme_allgemein, + gebaeude_stammdaten: { + ...gebaeude, + }, + }, + }); + + images = await bilderHochladen(images, response.gebaeude_uid); + + return response; + } catch (e: any) { + await client.v1.tickets.erstellen.mutate({ + titel: "Ausweis konnte nicht gespeichert werden", + beschreibung: e.stack, + email: user.email ?? "", + metadata: JSON.stringify({ + ausweis, + }), + }); + // TODO: Ticket mit Fehldermeldung abschicken. + } + } + + addNotification({ + dismissable: false, + message: + "Ausweis konnte nicht gespeichert werden, bitte versuchen sie es erneut.", + subtext: + "Sollte das Problem weiterhin bestehen, kontaktieren sie bitte den Support.", + timeout: 6000, + type: "error", + }); + return null; +} diff --git a/src/components/Ausweis/Ausweisart.svelte b/src/components/Ausweis/Ausweisart.svelte index a7b08eac..41b48ef9 100644 --- a/src/components/Ausweis/Ausweisart.svelte +++ b/src/components/Ausweis/Ausweisart.svelte @@ -1,224 +1,224 @@ - - -
- - -
- - - - -
- Bitte wählen Sie den Anlass. -
-
- - - -
- - - - -
- Bitte wählen Sie hier den Gebäudetyp aus. -
-
- - - -
- - - - -
- - Bitte geben Sie hier die Anzahl der Wohnungen ein, die sich im - Gebäude befinden. - -
-
- - - -
- - - - -
- - Bitte geben Sie an ob das Gebäude energetisch saniert oder - unsaniert ist. Wenn das Dach mindestens 12 cm gedämmt und - Heizung sowie Fenster nicht älter als 30 Jahre sind, können Sie - saniert auswählen. - -
-
- - - -
- - - { - addNotification({ - message: "Info", - subtext: - "Wussten sie, dass sie mehrere Jahre angeben können in denen z.B. Renovierungen an ihrem Gebäude durchgeführt wurden. Drücken sie dafür einfach Enter oder Space nach jedem Jahr.", - dismissable: true, - uid: "GEBAEUDE_BAUJAHR", - timeout: 0, - type: "info", - }); - }} - onFocusOut={() => { - deleteNotification("GEBAEUDE_BAUJAHR"); - }} - className={auditHeizungGebaeudeBaujahr(gebaeude_aufnahme_allgemein) - ? "linked" - : ""} - bind:tags={gebaeude_aufnahme_allgemein.baujahr_gebaeude} - /> - -
- - Bitte geben Sie hier das Baujahr des Gebäudes ein. Sollte eine - eine grundlegende Sanierung von Dach, Fenster und Heizung - stattgefunden haben, dann berücksichtigen Sie das in dem Sie bei - Sanierungsstatus -saniert- angeben. - -
-
- - - -
- - - { - addNotification({ - message: "Info", - subtext: - "Wussten sie, dass sie mehrere Jahre angeben können in denen z.B. Renovierungen an ihrer Heizung durchgeführt wurden. Drücken sie dafür einfach Enter oder Space nach jedem Jahr.", - dismissable: true, - uid: "HEIZUNG_BAUJAHR", - timeout: 0, - type: "info", - }); - }} - onFocusOut={() => { - deleteNotification("HEIZUNG_BAUJAHR"); - }} - className={auditHeizungGebaeudeBaujahr(gebaeude_aufnahme_allgemein) - ? "linked" - : ""} - bind:tags={gebaeude_aufnahme_allgemein.baujahr_heizung} - /> - -
- - Bitte geben Sie hier das Baujahr der Heizungsanlage ein. Sollten - unterschiedliche Baujahre vorliegen, dann geben Sie einen - Zeitbereich ein
z.B. 1994-2001. -
-
-
-
+ + +
+ + +
+ + + + +
+ Bitte wählen Sie den Anlass. +
+
+ + + +
+ + + + +
+ Bitte wählen Sie hier den Gebäudetyp aus. +
+
+ + + +
+ + + + +
+ + Bitte geben Sie hier die Anzahl der Wohnungen ein, die sich im + Gebäude befinden. + +
+
+ + + +
+ + + + +
+ + Bitte geben Sie an ob das Gebäude energetisch saniert oder + unsaniert ist. Wenn das Dach mindestens 12 cm gedämmt und + Heizung sowie Fenster nicht älter als 30 Jahre sind, können Sie + saniert auswählen. + +
+
+ + + +
+ + + { + addNotification({ + message: "Info", + subtext: + "Wussten sie, dass sie mehrere Jahre angeben können in denen z.B. Renovierungen an ihrem Gebäude durchgeführt wurden. Drücken sie dafür einfach Enter oder Space nach jedem Jahr.", + dismissable: true, + uid: "GEBAEUDE_BAUJAHR", + timeout: 0, + type: "info", + }); + }} + onFocusOut={() => { + deleteNotification("GEBAEUDE_BAUJAHR"); + }} + className={auditHeizungGebaeudeBaujahr(gebaeude_aufnahme_allgemein) + ? "linked" + : ""} + bind:tags={gebaeude_aufnahme_allgemein.baujahr_gebaeude} + /> + +
+ + Bitte geben Sie hier das Baujahr des Gebäudes ein. Sollte eine + eine grundlegende Sanierung von Dach, Fenster und Heizung + stattgefunden haben, dann berücksichtigen Sie das in dem Sie bei + Sanierungsstatus -saniert- angeben. + +
+
+ + + +
+ + + { + addNotification({ + message: "Info", + subtext: + "Wussten sie, dass sie mehrere Jahre angeben können in denen z.B. Renovierungen an ihrer Heizung durchgeführt wurden. Drücken sie dafür einfach Enter oder Space nach jedem Jahr.", + dismissable: true, + uid: "HEIZUNG_BAUJAHR", + timeout: 0, + type: "info", + }); + }} + onFocusOut={() => { + deleteNotification("HEIZUNG_BAUJAHR"); + }} + className={auditHeizungGebaeudeBaujahr(gebaeude_aufnahme_allgemein) + ? "linked" + : ""} + bind:tags={gebaeude_aufnahme_allgemein.baujahr_heizung} + /> + +
+ + Bitte geben Sie hier das Baujahr der Heizungsanlage ein. Sollten + unterschiedliche Baujahre vorliegen, dann geben Sie einen + Zeitbereich ein
z.B. 1994-2001. +
+
+
+
diff --git a/src/components/Ausweis/GebaeudeDaten.svelte b/src/components/Ausweis/GebaeudeDaten.svelte index a80fd260..e79804f2 100644 --- a/src/components/Ausweis/GebaeudeDaten.svelte +++ b/src/components/Ausweis/GebaeudeDaten.svelte @@ -10,7 +10,7 @@ -
- import ImageGrid from "../ImageGrid.svelte";; - import { Enums, type BedarfsausweisWohnen, type VerbrauchsausweisGewerbe } from "@ibcornelsen/database/client"; - import { GebaeudeClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "./types.js"; - - export let images: UploadedGebaeudeBild[] = []; - export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbe | BedarfsausweisWohnen; - export let gebaeude: GebaeudeClient; - - -
-
- - -

- WICHTIG: - Bild Upload - Heizungsanlage bzw. des Wärmeerzeugers (1 bis 4 Bilder) -

- -

- Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in - Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude - zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür - müssen laut Gesetzgeber Detailbilder vom Sanierungszustand bzw. der - Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur - Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem - Energieausweis. -

-
-
    -
  1. 1.Bild : Heizungsraum mit Heizkessel bzw. Heizungsanlage*
  2. -
  3. - 2.Bild : (wenn möglich, Warmwasserleitungen bzw. die Heizungsrohre) -
  4. -
  5. - 3.Bild : (wenn möglich, Detailbild des Wärmeerzeugers bzw. - Heizkessel) -
  6. -
  7. - 4.Bild : (wenn möglich, Bild des Typenschildes der Heizung) -
  8. -
-

* erforderliches Bild

-
-

- Idealerweise sollte der Heizungsraum mit Heizkessel bzw. - Heizungsanlage fotografiert werden. Die Warmwasserleitungen bzw. die - Heizungsrohre sollten gut sichtbar sein und vorhandene bzw. nicht - vorhandene Dämmung sollte erkennbar sein. -

-
- -
-

- Diese Bilder erscheinen nicht auf - Ihrem Energieausweis!
- Bitte laden Sie hier mind. 1 Bild hoch: -

- -
-
+ + +
+
+ + +

+ WICHTIG: + Bild Upload - Heizungsanlage bzw. des Wärmeerzeugers (1 bis 4 Bilder) +

+ +

+ Seit Mai 2021 wird das neue Gebäudeenergiegesetz (GEG) in + Deutschland angewendet. Daher werden von nun an Bilder vom Gebäude + zur Einschätzung der Modernisierungsempfehlungen benötigt. Hierfür + müssen laut Gesetzgeber Detailbilder vom Sanierungszustand bzw. der + Gebäudehülle und der Anlagentechnik (Wärmeerzeuger etc.) zur + Verfügung gestellt werden. Diese Bilder erscheinen nicht auf Ihrem + Energieausweis. +

+
+
    +
  1. 1.Bild : Heizungsraum mit Heizkessel bzw. Heizungsanlage*
  2. +
  3. + 2.Bild : (wenn möglich, Warmwasserleitungen bzw. die Heizungsrohre) +
  4. +
  5. + 3.Bild : (wenn möglich, Detailbild des Wärmeerzeugers bzw. + Heizkessel) +
  6. +
  7. + 4.Bild : (wenn möglich, Bild des Typenschildes der Heizung) +
  8. +
+

* erforderliches Bild

+
+

+ Idealerweise sollte der Heizungsraum mit Heizkessel bzw. + Heizungsanlage fotografiert werden. Die Warmwasserleitungen bzw. die + Heizungsrohre sollten gut sichtbar sein und vorhandene bzw. nicht + vorhandene Dämmung sollte erkennbar sein. +

+
+ +
+

+ Diese Bilder erscheinen nicht auf + Ihrem Energieausweis!
+ Bitte laden Sie hier mind. 1 Bild hoch: +

+ +
+
diff --git a/src/components/Bedarfsausweis/BedarfsausweisContent.svelte b/src/components/Bedarfsausweis/BedarfsausweisContent.svelte index 9b114605..ea4af1d6 100644 --- a/src/components/Bedarfsausweis/BedarfsausweisContent.svelte +++ b/src/components/Bedarfsausweis/BedarfsausweisContent.svelte @@ -1,1313 +1,1313 @@ - - -
-
-

Bedarfsausweis erstellen - 75€

- -
- - -
- -
-
-
- Später Weitermachen -
- - -
-
- -
- - -
- -
-
- Bitte geben Sie hier die Straße und Hausnummer des Gebäudes - ein. -
- -
-
- - - -
- Ort des Gebäudes wird automatisch ermittelt. -
- -
-
- -
- Bitte geben Sie hier die beheizte Wohnfläche in m² ein. - Dabei handelt es sich um die Wohnfläche abzüglich - vorhandener Flächen die sich außerhalb des Gebäudes - befinden. (Balkone, Terassen,etc.). -
- -
-
- -
- Bitte wählen Sie hier den Gebäudetyp aus. - -
- -
-
- -
- Bitte geben Sie hier den Gebäudeteil ein. In den meisten - Fällen handelt es sich um das Gesamtgebäude. Sollte es sich - allerdings um ein Gebäude mit mehr als 10% Gewerbeanteil - handeln, so sollten 2 Ausweise erstellt werden. In diesem - Fall wählen Sie Gebäudeteil 'Wohnen' bzw. Gebäudeteil - 'Gewerbe'. -
- -
-
-
- -
- -
-
- Hier wählen Sie Ihren passenden Grundriss aus, und tragen - die entsprechenden Maße unten ein. Bitte berücksichtigen Sie - nur den Grundriss der zum beheizten Gebäude gehört. Garagen - oder Schuppen die an das Haus herangebaut sind aber keine - Verbindung zum Wohnhaus haben bitte weglassen. - -
-
- Bitte geben Sie hier die Anzahl der Vollgeschosse - an. Keller und Dachgeschoss mit Schrägen zählen - nicht dazu. - -
- -
- Bitte geben Sie hier die Geschosshöhe (lichte - Raumhöhe + Deckenstärke) des Gebäudes ein. Bei - unterschiedlichen Geschosshöhen bilden Sie einen - Mittelwert. - -
- -
- Wenn Ihr Gebäude Dachgauben besitzt geben Sie hier - die Anzahl ein. - -
- -
- Bitte geben Sie hier die Gesamtbreite aller Gauben - in m ein. - -
-
- -
- rechteck - l-form - t-form - u-form -
- -
-
- Bitte Eingabe in m. Punkt statt Komma verwenden - z.B.: 10.40 (Eingabebeispiel) - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- -
-
- - -
-
- - -
-
- - -
-
-
-
- Die wärmeübertragende Umfassungsflächen sind die - Hüllflächen des beheizten Gebäudes die an die Außenluft bzw. - an unbeheizte Vorbauten grenzen. Wenn Ihnen die - Außenwand-,Dach-,Decken- und Bodenflächen vorliegen können - Sie die Eingabe direkt vornehmen. Hier können Sie auch das - von den Umfassungsflächen eingeschlossene Volumen des - Gebäudes eingeben. Die ermittelten Werte der - Berechnungshilfe können hier präzisiert werden. -
- - -
- -
-
- - -
-
- - -
-
- -
-
- - -
-
- - -
-
- -
-
- - -
-
- - -
-
- -
-
- - -
-
- - -
-
- -
- - -
- -
- -
- - -
-
-
-
-
- -
-
- Bitte geben Sie hier die Fläche der Fenster ein. - -
- -
- Bitte geben Sie hier die Art der Fenster ein. - -
- -
- Wenn vorhanden geben Sie hier die Fläche der Fenster ein - die älter sind oder einen anderen U-Wert besitzen. - -
- -
- Bitte geben Sie hier die Art der Fenster ein. - -
- -
- Bitte geben Sie hier die Fläche der Dachfenster ein. - -
- -
- Bitte geben Sie hier die Art der Fenster ein. - -
- -
- Bitte geben Sie hier die Fläche der Haustür ein. - -
- -
- Bitte geben Sie hier die Art der Haustür ein. - -
-
- -
-
-
- Bitte geben Sie hier die Bauart der Dachfläche ein. - -
- -
- Bitte geben Sie hier die nachträgliche Dämmung ein. - -
- -
- Bitte geben Sie hier die Bauart der Geschossdecke ein. - -
- -
- Bitte geben Sie hier die nachträgliche Dämmung ein. - -
- -
- Bitte geben Sie hier die Bauart der Außenwand ein. - -
- -
- Bitte geben Sie hier die nachträgliche Dämmung ein. - -
- -
- Bitte geben Sie hier die Bauart des Fußbodens ein. - -
- -
- Bitte geben Sie hier die nachträgliche Dämmung ein. - -
-
- -
- -
-
-
- -
- -
-
- -
- -
- -
-
- -
- Bitte geben Sie hier ein ob über die Fenster natürlich - belüftet wird oder über eine Lüftungsanlage. -
- -
-
- -
- Bitte geben Sie an ob das Gebäude im Sommer zusätzlich - gekühlt wird. -
- -
-
-
- -
- Bitte setzen Sie den Haken falls nachhaltige CO2-Effiziente - Heizungssysteme vorhanden sind. Das wäre beispielsweise bei - Pelletofen, Wärmepumpe, BHKW, Solarsystem, etc. der Fall. -
- - - - -
-
-
- -
- -
-
- Bitte geben Sie hier den Energieträger der Heizung ein. - -
- -
- Bitte geben Sie hier die Warmwasserverteilung ein. - -
- -
- Bitte geben Sie hier wenn vorhanden die Art des - Warmwasserspeichers ein. - -
- -
- Bitte geben Sie hier die Wärmeerzeugung für Warmwasser ein. - -
- -
- Bitte geben Sie hier ein ob es sich um Zentralheizung - handelt oder über Beheizung durch dezentrale Einzelöfen. - -
- -
- Bitte geben Sie hier die Verteilung der Heizung ein. - -
- -
- Bitte geben Sie hier - wenn vorhanden - den Speicher der - Heizung ein. - -
- -
- Bitte geben Sie hier den Wärmerzeuger der Heizung ein. - -
-
- -
-
-
- Bitte geben Sie hier - wenn vorhanden - die Zusatzheizung - ein (z.B. Kamin, Pelletheizung). - -
- -
- Bitte geben Sie hier den prozentualen Anteil der - Zusatzheizung ein. - -
-
- Wenn Sie ein Solarsystem für Warmwasser einsetzen geben Sie - bitte die Kollektorfläche an: -
-
- - -
-
-
- - -
-
- -
-
-
+ + +
+
+

Bedarfsausweis erstellen - 75€

+ +
+ + +
+ +
+
+
+ Später Weitermachen +
+ + +
+
+ +
+ + +
+ +
+
+ Bitte geben Sie hier die Straße und Hausnummer des Gebäudes + ein. +
+ +
+
+ + + +
+ Ort des Gebäudes wird automatisch ermittelt. +
+ +
+
+ +
+ Bitte geben Sie hier die beheizte Wohnfläche in m² ein. + Dabei handelt es sich um die Wohnfläche abzüglich + vorhandener Flächen die sich außerhalb des Gebäudes + befinden. (Balkone, Terassen,etc.). +
+ +
+
+ +
+ Bitte wählen Sie hier den Gebäudetyp aus. + +
+ +
+
+ +
+ Bitte geben Sie hier den Gebäudeteil ein. In den meisten + Fällen handelt es sich um das Gesamtgebäude. Sollte es sich + allerdings um ein Gebäude mit mehr als 10% Gewerbeanteil + handeln, so sollten 2 Ausweise erstellt werden. In diesem + Fall wählen Sie Gebäudeteil 'Wohnen' bzw. Gebäudeteil + 'Gewerbe'. +
+ +
+
+
+ +
+ +
+
+ Hier wählen Sie Ihren passenden Grundriss aus, und tragen + die entsprechenden Maße unten ein. Bitte berücksichtigen Sie + nur den Grundriss der zum beheizten Gebäude gehört. Garagen + oder Schuppen die an das Haus herangebaut sind aber keine + Verbindung zum Wohnhaus haben bitte weglassen. + +
+
+ Bitte geben Sie hier die Anzahl der Vollgeschosse + an. Keller und Dachgeschoss mit Schrägen zählen + nicht dazu. + +
+ +
+ Bitte geben Sie hier die Geschosshöhe (lichte + Raumhöhe + Deckenstärke) des Gebäudes ein. Bei + unterschiedlichen Geschosshöhen bilden Sie einen + Mittelwert. + +
+ +
+ Wenn Ihr Gebäude Dachgauben besitzt geben Sie hier + die Anzahl ein. + +
+ +
+ Bitte geben Sie hier die Gesamtbreite aller Gauben + in m ein. + +
+
+ +
+ rechteck + l-form + t-form + u-form +
+ +
+
+ Bitte Eingabe in m. Punkt statt Komma verwenden + z.B.: 10.40 (Eingabebeispiel) + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ Die wärmeübertragende Umfassungsflächen sind die + Hüllflächen des beheizten Gebäudes die an die Außenluft bzw. + an unbeheizte Vorbauten grenzen. Wenn Ihnen die + Außenwand-,Dach-,Decken- und Bodenflächen vorliegen können + Sie die Eingabe direkt vornehmen. Hier können Sie auch das + von den Umfassungsflächen eingeschlossene Volumen des + Gebäudes eingeben. Die ermittelten Werte der + Berechnungshilfe können hier präzisiert werden. +
+ + +
+ +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+ + +
+ +
+ +
+ + +
+
+
+
+
+ +
+
+ Bitte geben Sie hier die Fläche der Fenster ein. + +
+ +
+ Bitte geben Sie hier die Art der Fenster ein. + +
+ +
+ Wenn vorhanden geben Sie hier die Fläche der Fenster ein + die älter sind oder einen anderen U-Wert besitzen. + +
+ +
+ Bitte geben Sie hier die Art der Fenster ein. + +
+ +
+ Bitte geben Sie hier die Fläche der Dachfenster ein. + +
+ +
+ Bitte geben Sie hier die Art der Fenster ein. + +
+ +
+ Bitte geben Sie hier die Fläche der Haustür ein. + +
+ +
+ Bitte geben Sie hier die Art der Haustür ein. + +
+
+ +
+
+
+ Bitte geben Sie hier die Bauart der Dachfläche ein. + +
+ +
+ Bitte geben Sie hier die nachträgliche Dämmung ein. + +
+ +
+ Bitte geben Sie hier die Bauart der Geschossdecke ein. + +
+ +
+ Bitte geben Sie hier die nachträgliche Dämmung ein. + +
+ +
+ Bitte geben Sie hier die Bauart der Außenwand ein. + +
+ +
+ Bitte geben Sie hier die nachträgliche Dämmung ein. + +
+ +
+ Bitte geben Sie hier die Bauart des Fußbodens ein. + +
+ +
+ Bitte geben Sie hier die nachträgliche Dämmung ein. + +
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ Bitte geben Sie hier ein ob über die Fenster natürlich + belüftet wird oder über eine Lüftungsanlage. +
+ +
+
+ +
+ Bitte geben Sie an ob das Gebäude im Sommer zusätzlich + gekühlt wird. +
+ +
+
+
+ +
+ Bitte setzen Sie den Haken falls nachhaltige CO2-Effiziente + Heizungssysteme vorhanden sind. Das wäre beispielsweise bei + Pelletofen, Wärmepumpe, BHKW, Solarsystem, etc. der Fall. +
+ + + + +
+
+
+ +
+ +
+
+ Bitte geben Sie hier den Energieträger der Heizung ein. + +
+ +
+ Bitte geben Sie hier die Warmwasserverteilung ein. + +
+ +
+ Bitte geben Sie hier wenn vorhanden die Art des + Warmwasserspeichers ein. + +
+ +
+ Bitte geben Sie hier die Wärmeerzeugung für Warmwasser ein. + +
+ +
+ Bitte geben Sie hier ein ob es sich um Zentralheizung + handelt oder über Beheizung durch dezentrale Einzelöfen. + +
+ +
+ Bitte geben Sie hier die Verteilung der Heizung ein. + +
+ +
+ Bitte geben Sie hier - wenn vorhanden - den Speicher der + Heizung ein. + +
+ +
+ Bitte geben Sie hier den Wärmerzeuger der Heizung ein. + +
+
+ +
+
+
+ Bitte geben Sie hier - wenn vorhanden - die Zusatzheizung + ein (z.B. Kamin, Pelletheizung). + +
+ +
+ Bitte geben Sie hier den prozentualen Anteil der + Zusatzheizung ein. + +
+
+ Wenn Sie ein Solarsystem für Warmwasser einsetzen geben Sie + bitte die Kollektorfläche an: +
+
+ + +
+
+
+ + +
+
+ +
+
+
diff --git a/src/components/design/content/cardBAGwidget.svelte b/src/components/design/content/cardBAGwidget.svelte new file mode 100644 index 00000000..2886abf8 --- /dev/null +++ b/src/components/design/content/cardBAGwidget.svelte @@ -0,0 +1,56 @@ + + +
+
+ +

Bedarfsausweis Gewerbe

+
+ +
+
+ Gewerbe Bedarfsausweis +
+
+

ab{PRICES.BedarfsausweisGewerbe[0]}

+
+
+ +
+
fundiert (empfohlen)
+
Mehrzonenmodell nach DIN 18599.
+
Zulässig bei Vermietung oder Verkauf.
+
Grundlage für Sanierungsvarianten.
+
Objektiveres, besser vergleichbares Ergebnis.
+
+ jetzt online erstellen + + zur Produktübersicht + +
+
+ + + \ No newline at end of file diff --git a/src/components/design/content/cardBAwidget.svelte b/src/components/design/content/cardBAwidget.svelte new file mode 100644 index 00000000..ad8431f3 --- /dev/null +++ b/src/components/design/content/cardBAwidget.svelte @@ -0,0 +1,56 @@ + + +
+
+ +

Bedarfssausweis Wohngebäude

+
+ +
+
+ Wohnhaus Bedarfsausweis +
+
+

ab{PRICES.BedarfsausweisWohnen[0]}

+
+
+ +
+
fundiert (empfohlen)
+
Erfassung der Gebäudegeometrie.
+
Für Vermietung, Verkauf und Finanzierung.
+
Zulässig auch für unsanierte Objekte.
+
Kann als Grundlage für den ISFP dienen.
+
Objektivere Berechnungsmethode nach DIN 18599.
+
+ jetzt online erstellen + + zur Produktübersicht + +
+
+ + + \ No newline at end of file diff --git a/src/components/design/content/cardVAGwidget.svelte b/src/components/design/content/cardVAGwidget.svelte new file mode 100644 index 00000000..7c57820c --- /dev/null +++ b/src/components/design/content/cardVAGwidget.svelte @@ -0,0 +1,56 @@ + + +
+
+ +

Verbrauchsausweis Gewerbe

+
+ +
+
+ Gewerbe Verbrauchsausweis +
+
+

ab{PRICES.VerbrauchsausweisGewerbe[0]}

+
+
+ +
+
einfach
+
3 Jahresverbräuche von Heizung Gebäudestrom nötig.
+
Zulässig bei Vermietung oder Verkauf.
+
Für bauliche und energetische Maßnahmen ungeeignet.
+
Wird nicht immer bei den Banken akzeptiert.
+
+ jetzt online erstellen + + zur Produktübersicht + +
+
+ + + \ No newline at end of file diff --git a/src/components/design/content/cardVAwidget.svelte b/src/components/design/content/cardVAwidget.svelte new file mode 100644 index 00000000..a47e9f56 --- /dev/null +++ b/src/components/design/content/cardVAwidget.svelte @@ -0,0 +1,57 @@ + + +
+
+ +

Verbrauchsausweis Wohngebäude

+
+ +
+
+ Wohnhaus Verbrauchsausweis +
+
+

ab{PRICES.VerbrauchsausweisWohnen[0]}

+
+
+ +
+
einfach
+
3 Jahresverbräuche der Heizung benötigt.
+
Zulässig bei Vermietung oder Verkauf.
+
Unzulässig bei unsanierten Gebäuden vor 1978.
+
Ungenau durch individuelles Heizverhalten.
+
Wird nicht immer bei den Banken akzeptiert.
+
+ jetzt online erstellen + + zur Produktübersicht + +
+
+ + + \ No newline at end of file diff --git a/src/components/design/content/BannerSaeule.svelte b/src/components/design/content/produktVergleich.svelte similarity index 100% rename from src/components/design/content/BannerSaeule.svelte rename to src/components/design/content/produktVergleich.svelte diff --git a/src/components/design/header/Header.astro b/src/components/design/header/Header.astro index c8bdb710..55ce74fa 100644 --- a/src/components/design/header/Header.astro +++ b/src/components/design/header/Header.astro @@ -1,5 +1,5 @@ --- -import Login from "#sidebarCards/card-login.svelte"; +import HeaderLogin from "#header/headerLogin.svelte"; ---
@@ -56,7 +56,7 @@ lg:px-0 lg:gap-x-4">
- +
diff --git a/src/components/design/sidebars/cards/card-login.svelte b/src/components/design/header/headerLogin.svelte similarity index 100% rename from src/components/design/sidebars/cards/card-login.svelte rename to src/components/design/header/headerLogin.svelte diff --git a/src/components/design/sidebars/cards/card-review.svelte b/src/components/design/sidebars/cards/card-review.svelte deleted file mode 100644 index e69de29b..00000000 diff --git a/src/components/design/sidebars/cards/card-BA-G-promo.svelte b/src/components/design/sidebars/cards/cardBAGpromo.svelte similarity index 89% rename from src/components/design/sidebars/cards/card-BA-G-promo.svelte rename to src/components/design/sidebars/cards/cardBAGpromo.svelte index be852fcf..4d2d5ede 100644 --- a/src/components/design/sidebars/cards/card-BA-G-promo.svelte +++ b/src/components/design/sidebars/cards/cardBAGpromo.svelte @@ -2,9 +2,8 @@ import { PRICES } from "#lib/constants"; -
+
diff --git a/src/components/design/sidebars/cards/card-BA-promo.svelte b/src/components/design/sidebars/cards/cardBApromo.svelte similarity index 91% rename from src/components/design/sidebars/cards/card-BA-promo.svelte rename to src/components/design/sidebars/cards/cardBApromo.svelte index e40396a0..31fd20f2 100644 --- a/src/components/design/sidebars/cards/card-BA-promo.svelte +++ b/src/components/design/sidebars/cards/cardBApromo.svelte @@ -2,8 +2,8 @@ import { PRICES } from "#lib/constants"; -
+
diff --git a/src/components/design/sidebars/cards/card-contact.svelte b/src/components/design/sidebars/cards/cardContact.svelte similarity index 88% rename from src/components/design/sidebars/cards/card-contact.svelte rename to src/components/design/sidebars/cards/cardContact.svelte index 5a78ab3a..03a920e4 100644 --- a/src/components/design/sidebars/cards/card-contact.svelte +++ b/src/components/design/sidebars/cards/cardContact.svelte @@ -1,4 +1,4 @@ -
+
diff --git a/src/components/design/sidebars/cards/card-login_1.svelte b/src/components/design/sidebars/cards/cardLogin.svelte similarity index 95% rename from src/components/design/sidebars/cards/card-login_1.svelte rename to src/components/design/sidebars/cards/cardLogin.svelte index a46e0040..22d13e27 100644 --- a/src/components/design/sidebars/cards/card-login_1.svelte +++ b/src/components/design/sidebars/cards/cardLogin.svelte @@ -23,9 +23,8 @@