This commit is contained in:
Moritz Utcke
2025-04-29 11:30:29 -03:00
parent 1380dcb43a
commit e18f27675d
40 changed files with 164 additions and 18261 deletions

View File

@@ -5,7 +5,6 @@ export const createCaller = createCallerFactory({
"klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"),
"postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"),
"unterlage": await import("../src/pages/api/unterlage.ts"),
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
"admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"),
"admin/bedarfsausweis-ausstellen": await import("../src/pages/api/admin/bedarfsausweis-ausstellen.ts"),
"admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"),
@@ -14,29 +13,30 @@ export const createCaller = createCallerFactory({
"admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"),
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
"bedarfsausweis-gewerbe/[id]": await import("../src/pages/api/bedarfsausweis-gewerbe/[id].ts"),
"bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"),
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"),
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
"geg-nachweis-gewerbe/[id]": await import("../src/pages/api/geg-nachweis-gewerbe/[id].ts"),
"geg-nachweis-gewerbe": await import("../src/pages/api/geg-nachweis-gewerbe/index.ts"),
"bilder/[id]": await import("../src/pages/api/bilder/[id].ts"),
"geg-nachweis-wohnen/[id]": await import("../src/pages/api/geg-nachweis-wohnen/[id].ts"),
"geg-nachweis-wohnen": await import("../src/pages/api/geg-nachweis-wohnen/index.ts"),
"geg-nachweis-gewerbe/[id]": await import("../src/pages/api/geg-nachweis-gewerbe/[id].ts"),
"geg-nachweis-gewerbe": await import("../src/pages/api/geg-nachweis-gewerbe/index.ts"),
"objekt": await import("../src/pages/api/objekt/index.ts"),
"rechnung/[id]": await import("../src/pages/api/rechnung/[id].ts"),
"rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"),
"rechnung": await import("../src/pages/api/rechnung/index.ts"),
"objekt": await import("../src/pages/api/objekt/index.ts"),
"verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"),
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
"verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"),
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/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"),
"ticket": await import("../src/pages/api/ticket/index.ts"),
"verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"),
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
"verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"),
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
"aufnahme/[id]/bilder": await import("../src/pages/api/aufnahme/[id]/bilder.ts"),
"aufnahme/[id]": await import("../src/pages/api/aufnahme/[id]/index.ts"),

View File

@@ -1,82 +0,0 @@
---
import HeaderLogin from "#components/design/header/HeaderLogin.svelte";
---
<header id="header">
<div id="header-grid" class="grid relative bg-white items-center gap-x-4 pt-4 px-0
grid-cols-1
sm:grid-cols-1
md:grid-cols-1
lg:grid-cols-[1fr_minmax(450px,450px)] lg:gap-x-3 lg:px-4 lg:py-4
xl:grid-cols-[1fr_minmax(450px,450px)] xl:gap-x-4 xl:px-6 xl:py-4
2xl:grid-cols-[1fr_minmax(450px,450px)] 2xl:gap-x-5 2xl:px-6 2xl:py-4">
<div class="justify-self-center xs:justify-self-start">
<div class="grid grid-cols-1 px-2 gap-2 gap-y-1
xs:grid-cols-[max-content,1fr] xs:gap-x-2 xs:px-4
md:gap-y-4
lg:px-0 lg:gap-x-4">
<div class="self-start justify-self-start">
<a href="/">
<img id="header-logo" class="w-full
xs:max-w-[64px]
sm:max-w-[64px]
md:max-w-[64px] md:ml-6
lg:max-w-[64px] lg:ml-0
xl:max-w-[94px] xl:ml-0
"
src="/images/header/logo-IBC-big.svg" alt="IBCornelsen-Logo"/>
</a>
</div>
<div class="self-center justify-self-center md:justify-self-start xs:mt-[20px] md:mt-[18px]">
<div id="header-text-1"class="text-secondary justify-self-center
xs:[font-size:_clamp(15px,5vw,36px)] xs:justify-self-start xs:leading-[36px]
lg:[font-size:_clamp(15px,3vw,26px)]
lg:leading-[2rem]
xl:[font-size:_clamp(15px,3vw,36px)]
xl:leading-[4.5rem] pt-[0px]">
Energieausweis online erstellen</div>
<div id="header-text-2"class="text-primary justify-self-center
xs:[font-size:_clamp(15px,4vw,28px)] xs:justify-self-start xs:leading-[20px]
lg:[font-size:_clamp(15px,3vw,20px)]
lg:leading-[2rem]
xl:[font-size:_clamp(15px,3vw,24px)]
xl:leading-[0.5rem]">
Energieausweise nach aktuellem GEG</div>
</div>
</div>
</div>
<div class="w-full justify-self-center">
<HeaderLogin client:load />
</div>
</div>
</div>
<div class="col-start-1 col-span-3">
<div id="header-line" class="px-2 flex flex-row w-full justify-end items-center bg-primary
lg:h-[12px] xl:h-[12px]"></div>
</div>
</header>
<style>
.header-button {
@apply px-4 py-2 text-primary-content font-medium text-lg tracking-normal hover:bg-secondary h-full;
}
</style>

View File

@@ -1,19 +1,22 @@
---
import NavigationCard from "#components/design/sidebars/cards/NavigationCard.svelte";
import CardPriceiInfo from "#components/design/sidebars/cards/cardPriceiInfo.svelte";
import CardPriceInfo from "#components/design/sidebars/cards/CardPriceInfo.svelte";
import CardProduktSidebar from "#components/design/sidebars/cards/CardProduktSidebar.svelte";
import { PRICES } from "#lib/constants";
import { Enums } from "#lib/client/prisma";
---
<div class="">
<NavigationCard client:load />
<NavigationCard client:load/>
<CardProduktSidebar art="Verbrauchsausweis Gewerbe" price={PRICES.VerbrauchsausweisGewerbe[Enums.AusweisTyp.Standard]}></CardProduktSidebar>
<CardPriceiInfo />
<CardProduktSidebar art="Bedarfsausweis Wohnen" price={PRICES.BedarfsausweisWohnen[Enums.AusweisTyp.Standard]}></CardProduktSidebar>
</div>
<CardProduktSidebar
art="Verbrauchsausweis Gewerbe"
price={PRICES.VerbrauchsausweisGewerbe[Enums.AusweisTyp.Standard]}
/>
<CardPriceInfo />
<CardProduktSidebar
art="Bedarfsausweis Wohnen"
price={PRICES.BedarfsausweisWohnen[Enums.AusweisTyp.Standard]}
/>
</div>

View File

@@ -1,6 +1,6 @@
---
import CardContact from "#components/design/sidebars/cards/ContactCard.svelte";
import CardPriceiInfo from "#components/design/sidebars/cards/cardPriceiInfo.svelte";
import CardPriceInfo from "#components/design/sidebars/cards/CardPriceInfo.svelte";
import CardProduktSidebar from "#components/design/sidebars/cards/CardProduktSidebar.svelte";
import { PRICES } from "#lib/constants";
@@ -8,16 +8,15 @@ import { Enums } from "#lib/client/prisma";
---
<div class="hidden 2xl:block">
<CardContact />
<CardContact />
<CardProduktSidebar art="Verbrauchsausweis Wohnen" price={PRICES.VerbrauchsausweisWohnen[Enums.AusweisTyp.Standard]}></CardProduktSidebar>
<CardPriceiInfo />
<CardProduktSidebar art="Bedarfsausweis Gewerbe" price={PRICES.BedarfsausweisGewerbe[Enums.AusweisTyp.Standard]}></CardProduktSidebar>
<CardProduktSidebar
art="Verbrauchsausweis Wohnen"
price={PRICES.VerbrauchsausweisWohnen[Enums.AusweisTyp.Standard]}
/>
<CardPriceInfo />
<CardProduktSidebar
art="Bedarfsausweis Gewerbe"
price={PRICES.BedarfsausweisGewerbe[Enums.AusweisTyp.Standard]}
/>
</div>
</div>

View File

@@ -0,0 +1,66 @@
<script>
import { PRICES } from "#lib/constants";
import { Enums } from "#lib/client/prisma";
</script>
<div id="cardPriceinfo" class="box card hidden lg:block">
<h2>Was wird der Energieausweis kosten?</h2>
<div>Verbrauchsausweis Wohngebäude</div>
<div>
ab&nbsp;<span class="price"
>{PRICES.VerbrauchsausweisWohnen[Enums.AusweisTyp.Standard]}€</span
>&nbsp;inkl.&nbsp;MwSt.
</div>
<hr class="trenner" />
<div>Bedarfsausweis Wohngebäude</div>
<div>
ab&nbsp;<span class="price"
>{PRICES.BedarfsausweisWohnen[Enums.AusweisTyp.Standard]}€</span
>&nbsp;inkl.&nbsp;MwSt.
</div>
<hr class="trenner" />
<div>Verbrauchsausweis Gewerbe</div>
<div>
ab&nbsp;<span class="price"
>{PRICES.VerbrauchsausweisGewerbe[Enums.AusweisTyp.Standard]}€</span
>&nbsp;inkl.&nbsp;MwSt.
</div>
<hr class="trenner" />
<div>Bedarfsausweis Gewerbe</div>
<div>
ab&nbsp;<span class="price"
>{PRICES.BedarfsausweisGewerbe[Enums.AusweisTyp.Standard]}€</span
>&nbsp;inkl.&nbsp;MwSt.
</div>
<hr class="trenner" />
<div>GEG-Nachweis Wohngebäude</div>
<div>
ab&nbsp;<span class="price"
>{PRICES.GEGNachweisWohnen[Enums.AusweisTyp.Standard]}€</span
>&nbsp;inkl.&nbsp;MwSt.
</div>
<hr class="trenner" />
<div>GEG-Nachweis Gewerbe</div>
<div>
ab&nbsp;<span class="price"
>{PRICES.GEGNachweisGewerbe[Enums.AusweisTyp.Standard]}€</span
>&nbsp;inkl.&nbsp;MwSt.
</div>
<hr class="mt-2" />
</div>
<style lang="postcss">
.trenner {
@apply my-2;
}
.price {
@apply font-bold;
}
</style>

View File

@@ -1,465 +0,0 @@
<script lang="ts">
let innerWidth: number;
function dropdown() {
if (innerWidth < 1024) {
const check_element = this.lastChild;
const rotate_list = document.querySelectorAll(".dd-symbol-clone");
const rotate_element = this.childNodes[0].children[0];
var first_check = check_element.classList.contains(
"show-dropdown-content"
);
const nodeList = document.querySelectorAll(".dropdown-content");
if (first_check == true) {
check_element.classList.remove("show-dropdown-content");
rotate_element.classList.toggle("rotate-symbol");
} else {
for (let i = 0; i < nodeList.length; i++) {
const element = nodeList[i];
element.classList.remove("show-dropdown-content");
}
for (let i = 0; i < rotate_list.length; i++) {
const element = rotate_list[i];
element.classList.remove("rotate-symbol");
}
check_element.classList.add("show-dropdown-content");
rotate_element.classList.add("rotate-symbol");
}
}
}
function hover() {
if (innerWidth > 1024) {
const check_element = this.firstChild.lastChild;
check_element.style.visibility = "visible";
}
}
function hoverout() {
if (innerWidth > 1024) {
const check_element = this.firstChild.lastChild;
check_element.style.visibility = "hidden";
}
}
function hamburger() {
const nodeList = document.querySelectorAll(".dropdown-content");
for (let i = 0; i < nodeList.length; i++) {
nodeList[i].classList.remove("show-dropdown-content");
}
var element = document.getElementById("cardNavigation");
element.classList.toggle("hidden");
const spans = this.children;
var first_check = spans[0].classList.contains("hamburger-swing-0");
if (first_check == true) {
for (let i = 0; i < spans.length; i++) {
spans[i].classList.remove("hamburger-swing-" + i);
}
const rotate_list = document.querySelectorAll(".dd-symbol");
for (let i = 0; i < rotate_list.length; i++) {
rotate_list[i].classList.remove("rotate-symbol");
}
} else {
for (let i = 0; i < spans.length; i++) {
spans[i].classList.add("hamburger-swing-" + i);
}
}
}
</script>
<svelte:window bind:innerWidth />
<div
class="hamburger_menu py-1 px-2 bg-secondary
xs:px-4
lg:hidden"
>
<div
id="hamburger"
on:click={hamburger}
on:keydown={hamburger}
class="cursor-pointer"
>
<span></span>
<span></span>
<span></span>
</div>
</div>
<nav
id="cardNavigation"
class="cardNavigation box hidden relative ring-0 md:ring-2 ring-primary/50 rounded-tr-none lg:block mb-0 lg:mb-5"
>
<div class="nav-element bg-secondary/5 py-1 pl-2 text-xs font-bold">
Jetzt bestellen
</div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/welcher-energieausweis/"
>Welcher Energieausweis?</a
>
</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div
class="nav-element dropdown lg:dropdown-right"
on:click={dropdown}
on:keydown={dropdown}
on:mouseover={hover}
on:mouseleave={hoverout}
>
{#if innerWidth > 1023}
<a href={undefined} class="nav-element-child"
>Energieausweis erstellen<span class="dd-symbol-clone"></span
><span class="dd-symbol"></span></a
>
{:else}
<a href={undefined} class="nav-element-child"
>Energieausweis erstellen<span class="dd-symbol-clone"></span
><span class="dd-symbol"></span></a
>
{/if}
<ul class="dropdown-content energieasusweis-erstellen">
{#if innerWidth < 1023}
<li>
<a href="/energieausweis-erstellen"
>Energieausweis erstellen</a
>
</li>
{/if}
<li>
<a
href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/"
>Verbrauchsausweis erstellen</a
>
</li>
<li>
<a href="/energieausweis-erstellen/bedarfsausweis-wohngebaeude/"
>Bedarfsausweis erstellen</a
>
</li>
<li>
<a href="/energieausweis-erstellen/verbrauchsausweis-gewerbe/"
>Verbrauchsausweis Gewerbe erstellen</a
>
</li>
</ul>
</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div
class="nav-element dropdown lg:dropdown-right"
on:click={dropdown}
on:keydown={dropdown}
on:mouseover={hover}
on:mouseleave={hoverout}
>
{#if innerWidth > 1023}
<a href={undefined} class="nav-element-child"
>Angebot anfragen<span class="dd-symbol-clone"></span><span
class="dd-symbol"></span
></a
>
{:else}
<a href={undefined} class="nav-element-child"
>Angebot anfragen<span class="dd-symbol-clone"></span><span
class="dd-symbol"></span
></a
>
{/if}
<ul class="dropdown-content angebot-anfragen">
{#if innerWidth < 1023}
<li>
<a href="/energieausweis-erstellen">Angebot anfragen</a>
</li>
{/if}
<li>
<a
href="/angebot-anfragen/bedarfsausweis-gewerbe-anfragen"
>Bedarfsausweis Gewerbe anfragen</a
>
</li>
<li>
<a href="/angebot-anfragen/geg-nachweis-wohnen-anfragen"
>GEG Nachweis Wohnen anfragen</a
>
</li>
<li>
<a href="/angebot-anfragen/geg-nachweis-gewerbe-anfragen"
>GEG Nachweis Gewerbe anfragen</a
>
</li>
</ul>
</div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/sanierungsfahrplan"
>Sanierungsfahrplan (iSFP)</a
>
</div>
<div class="nav-element bg-secondary/5 py-1 pl-2 text-xs font-bold">
Produkte & Preise
</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div
class="nav-element dropdown lg:dropdown-right"
on:click={dropdown}
on:keydown={dropdown}
on:mouseover={hover}
on:mouseleave={hoverout}
>
<a href="/verbrauchsausweis/" class="nav-element-child"
>Verbrauchsausweis<span class="dd-symbol-clone"></span><span
class="dd-symbol"></span
></a
>
<ul class="dropdown-content verbrauchsausweis">
{#if innerWidth < 1023}
<li><a href="index">Verbrauchsausweis</a></li>
{/if}
<li><a href="/verbrauchsausweis/verbrauchsausweis-wohngebaeude/">Verbrauchsausweis Wohngebäude</a></li>
<li><a href="/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/">Verbrauchsausweis online erstellen</a></li>
<li><a href="/verbrauchsausweis/haeufige-fragen-zum-verbrauchsausweis/">Häufige Fragen zum Verbrauchsausweis</a></li>
<li>
<a href="/verbrauchsausweis/statistiken-zum-verbrauchsausweis/">Statistiken zum Verbrauchsausweis Wohngebäude</a
>
</li>
<li><a href="/verbrauchsausweis/verbrauchsausweis-gewerbe/">Verbrauchsausweis Gewerbe</a></li>
<li>
<a href="/energieausweis-erstellen/verbrauchsausweis-gewerbe/">Verbrauchsausweis Gewerbe online erstellen</a>
</li>
<li>
<a href="/verbrauchsausweis/haeufige-fragen-zum-verbrauchsausweis-gewerbe/">Häufige Fragen zum Verbrauchsausweis Gewerbe</a>
</li>
<li>
<a href="/verbrauchsausweis/statistiken-zum-verbrauchsausweis-gewerbe/">Statistiken zum Verbrauchsausweis Gewerbe</a>
</li>
</ul>
</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div
class="nav-element dropdown lg:dropdown-right"
on:click={dropdown}
on:keydown={dropdown}
on:mouseover={hover}
on:mouseleave={hoverout}
>
<a href="/bedarfsausweis/" class="nav-element-child"
>Bedarfsausweis<span class="dd-symbol-clone"></span><span
class="dd-symbol"></span
></a
>
<ul class="dropdown-content bedarfsausweis">
{#if innerWidth < 1023}
<li><a href="/bedarfsausweis/">Bedarfsausweis</a></li>
{/if}
<li><a href="/bedarfsausweis/bedarfsausweis-wohngebaeude/">Bedarfsausweis Wohngebäude</a></li>
<li><a href="/energieausweis-erstellen/bedarfsausweis-wohngebaeude/">Bedarfsausweis online erstellen</a></li>
<li><a href="/bedarfsausweis/haeufige-fragen-zum-bedarfsausweis/">Häufige Fragen zum Bedarfsausweis</a></li>
<li>
<a href="/bedarfsausweis/statistiken-zum-bedarfsausweis/">Statistiken zum Bedarfsausweis Wohngebäude</a>
</li>
<li><a href="/bedarfsausweis/bedarfsausweis-gewerbe/">Bedarfsausweis Gewerbe</a></li>
<li><a href="/angebot-anfragen/bedarfsausweis-gewerbe-anfragen">Bedarfsausweis Gewerbe anfragen</a></li>
<li>
<a href="/bedarfsausweis/haeufige-fragen-zum-bedarfsausweis-gewerbe/">Häufige Fragen zum Bedarfsausweis Gewerbe</a>
</ul>
</div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/sanierungsfahrplan"
>Sanierungsfahrplan</a
>
</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div
class="nav-element dropdown lg:dropdown-right"
on:click={dropdown}
on:keydown={dropdown}
on:mouseover={hover}
on:mouseleave={hoverout}
>
<a href="/" class="nav-element-child"
>Energieausweis<span class="dd-symbol-clone"></span><span
class="dd-symbol"></span
></a
>
<ul class="dropdown-content energieausweis">
{#if innerWidth < 1023}
<li><a href="/energieausweis/">Energieausweis</a></li>
{/if}
<li><a href="/energieausweis/energieausweis-pflicht/">Energieausweis Pflicht</a></li>
<li><a href="/energieausweis/energieausweis-kosten/">Energieausweis Kosten</a></li>
<li><a href="/energieausweis/energieausweis-haus/">Energieausweis Haus</a></li>
</ul>
</div>
<!-- <div class="nav-element">
<a
class="no-dropdown nav-element-child"
href="/energieausweis-aussteller">Energieberater finden</a
>
</div> -->
<div class="nav-element bg-secondary/5 py-1 pl-2 text-xs font-bold">
FAQ & Hilfe
</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div
class="nav-element dropdown lg:dropdown-right"
on:click={dropdown}
on:keydown={dropdown}
on:mouseover={hover}
on:mouseleave={hoverout}
>
{#if innerWidth > 1023}
<a href="/bestellprozess-energieausweis" class="nav-element-child"
>Bestellprozess Energieausweis<span class="dd-symbol-clone"
></span
><span class="dd-symbol"></span></a
>
{:else}
<a href="/bestellprozess-energieausweis" class="nav-element-child"
>Bestellprozess Energieausweis<span class="dd-symbol-clone"
></span
><span class="dd-symbol"></span></a
>
{/if}
<ul class="dropdown-content bestellprozess-energieausweis">
{#if innerWidth < 1023}
<li>
<a href="/bestellprozess-energieausweis"
>Bestellprozess Energieausweis</a
>
</li>
{/if}
<li>
<a
href="/bestellprozess-energieausweis/merkblatt-verbrauchsausweis-wohnen/"
>Merkblatt Verbrauchsausweis Wohnen</a
>
</li>
<li>
<a href="/energieausweis-erstellen/bedarfsausweis-wohngebaeude/"
>Merkblatt Bedarfsausweis Wohnen</a
>
</li>
<li>
<a href="/energieausweis-erstellen/verbrauchsausweis-gewerbe/"
>Merkblatt Verbrauchsausweis Gewerbe</a
>
</li>
</ul>
</div>
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
<div
class="nav-element dropdown lg:dropdown-right"
on:click={dropdown}
on:keydown={dropdown}
on:mouseover={hover}
on:mouseleave={hoverout}
>
<a href="/geg/" class="nav-element-child"
>Gebäudeenergiegesetz (GEG)<span class="dd-symbol-clone"></span><span
class="dd-symbol"></span
></a
>
<ul class="dropdown-content geg">
{#if innerWidth < 1023}
<li><a href="/geg/">Gebäudeenergiegesetz (GEG)</a></li>
{/if}
<li><a href="/geg/geg-2024-volltext/">GEG 2024 Volltext</a></li>
<li><a href="/geg/enev-zusammenfassung">EnEV Zusammenfassung-Archiv</a></li>
</ul>
</div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/faq/">FAQ</a>
</div>
<div class="nav-element">
<a class="no-dropdown nav-element-child" href="/glossar/">Glossar</a>
</div>
<!--<div class="nav-element">
<a class="no-dropdown nav-element-child lg:rounded-b-xl" href="/kundenbewertungen/"
>Kundenbewertungen</a
>
</div>
<div class="nav-element">
<a
class="no-dropdown nav-element-child lg:!rounded-b-lg xl:!rounded-b-xl"
href="/fuer-entwickler/">Für Entwickler</a
>
</div> -->
</nav>
<style lang="scss">
.dd-symbol::before {
content: "";
font-size: 0.95rem;
position: absolute;
top: 0px;
left: -7px;
animation-name: flim;
animation-duration: 2s;
animation-iteration-count: infinite;
}
.dd-symbol {
visibility: hidden;
}
.dd-symbol::after {
content: "";
font-size: 0.95rem;
position: absolute;
top: 0px;
right: -7px;
animation-name: flim;
animation-duration: 2s;
animation-delay: 1s;
animation-iteration-count: infinite;
}
@keyframes flim {
0% {
opacity: 0;
}
16.66% {
opacity: 0.25;
}
33.32% {
opacity: 0.5;
}
49.98% {
opacity: 0.75;
}
66.64% {
opacity: 0.5;
}
83.33% {
opacity: 0.25;
}
100% {
opacity: 0;
}
}
</style>

View File

@@ -1,25 +0,0 @@
<script lang="ts">
import { PRICES } from "#lib/constants.js";
import { Enums } from "#lib/client/prisma";
</script>
<div id ="cardBAGpromo"
class=" box card">
<div class="grid">
<h2>Bedarfssausweis Gewerbe</h2>
<hr class="mb-4">
<img class="w-[70%] justify-self-center !min-w-[100px] mb-[1rem]" src="/images/right-sidebar/UMBE_gewerbegebaeude.svg" alt="Gewerbe Bedarfsausweis"/>
<p class="promo tracking-tighter text-[2rem] text-gray-700 pl-6">ab<span class="promo pl-[0.2rem]">{PRICES.BedarfsausweisGewerbe[Enums.AusweisTyp.Standard]}</span></p>
<a href="./angebot-anfragen/bedarfsausweis-gewerbe-anfragen id="link-BA-promo"
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-secondary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
hover:bg-primary
" >jetzt Bedarfssausweis anfragen</a>
</div>
</div>
<style lang="scss">
</style>

View File

@@ -1,25 +0,0 @@
<script lang="ts">
import { PRICES } from "#lib/constants.js";
import { Enums } from "#lib/client/prisma";
</script>
<div id ="cardBApromo"
class=" box card">
<div class="grid">
<h2>Bedarfssausweis Wohngebäude</h2>
<hr class="mb-4">
<img class="w-[70%] justify-self-center !min-w-[100px] mb-[1rem]" src="/images/right-sidebar/UMBE_wohngebaeude.svg" alt="Wohnhaus Bedarfsausweis"/>
<p class="promo tracking-tighter text-[2rem] text-gray-700 pl-6">ab<span class="promo pl-[0.2rem]">{PRICES.BedarfsausweisWohnen[Enums.AusweisTyp.Standard]}</span></p>
<a href="/energieausweis-erstellen/bedarfsausweis-wohngebaeude/" id="link-BA-promo"
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-secondary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
hover:bg-primary
" >jetzt Bedarfssausweis erstellen</a>
</div>
</div>
<style lang="scss">
</style>

View File

@@ -1,43 +0,0 @@
<script>
import { PRICES } from "#lib/constants";
import { Enums } from "#lib/client/prisma";
</script>
<div id ="cardPriceinfo" class="box card hidden lg:block">
<h2>Was wird der Energieausweis kosten?</h2>
<div>Verbrauchsausweis Wohngebäude</div>
<div>ab&nbsp;<span class="price">{PRICES.VerbrauchsausweisWohnen[Enums.AusweisTyp.Standard]}€</span>&nbsp;inkl.&nbsp;MwSt.</div>
<hr class="trenner">
<div>Bedarfsausweis Wohngebäude</div>
<div>ab&nbsp;<span class="price">{PRICES.BedarfsausweisWohnen[Enums.AusweisTyp.Standard]}€</span>&nbsp;inkl.&nbsp;MwSt.</div>
<hr class="trenner">
<div>Verbrauchsausweis Gewerbe</div>
<div>ab&nbsp;<span class="price">{PRICES.VerbrauchsausweisGewerbe[Enums.AusweisTyp.Standard]}€</span>&nbsp;inkl.&nbsp;MwSt.</div>
<hr class="trenner">
<div>Bedarfsausweis Gewerbe</div>
<div>ab&nbsp;<span class="price">{PRICES.BedarfsausweisGewerbe[Enums.AusweisTyp.Standard]}€</span>&nbsp;inkl.&nbsp;MwSt.</div>
<hr class="trenner">
<div>GEG-Nachweis Wohngebäude</div>
<div>ab&nbsp;<span class="price">{PRICES.GEGNachweisWohnen[Enums.AusweisTyp.Standard]}€</span>&nbsp;inkl.&nbsp;MwSt.</div>
<hr class="trenner">
<div>GEG-Nachweis Gewerbe</div>
<div>ab&nbsp;<span class="price">{PRICES.GEGNachweisGewerbe[Enums.AusweisTyp.Standard]}€</span>&nbsp;inkl.&nbsp;MwSt.</div>
<hr class="mt-2">
</div>
<style lang="postcss">
.trenner{@apply my-2}
.price{@apply font-bold}
</style>

View File

@@ -1,26 +0,0 @@
<script lang="ts">
import { PRICES } from "#lib/constants.js";
import { Enums } from "#lib/client/prisma";
</script>
<div id ="cardVAGpromo"
class=" box card">
<div class="grid">
<h2>Verbrauchsausweis Gewerbe</h2>
<hr class="mb-4">
<img class="w-[70%] justify-self-center !min-w-[100px]" src="/images/right-sidebar/UMBE_gewerbegebaeude.svg" alt="Gewerbe Verbrauchsausweis"/>
<p class="promo tracking-tighter text-[2rem] text-gray-700 pl-6">ab<span class="promo pl-2">{PRICES.VerbrauchsausweisGewerbe[Enums.AusweisTyp.Standard]}</span></p>
<a href="./energieausweis-erstellen/verbrauchsausweis-gewerbe/" id="link-VA-promo"
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-gradient-to-br from-secondary to-secondary-grad rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
hover:bg-primary
" >Verbrauchsausweis sofort&nbsp;erstellen</a>
</div>
</div>
<style lang="scss">
</style>

View File

@@ -1,34 +0,0 @@
<script lang="ts">
import { PRICES } from "#lib/constants.js";
import { Enums } from "#lib/client/prisma";
</script>
<div id="card-VA-promo" class="box card">
<div class="grid">
<h2>Verbrauchsausweis Wohngebäude</h2>
<hr class="mb-4" />
<img
class="w-[70%] justify-self-center !min-w-[100px] mb-[1rem]"
src="/images/right-sidebar/UMBE_wohngebaeude.svg"
alt="Wohnhaus Verbrauchsausweis"
/>
<p class="promo tracking-tighter text-[2rem] text-gray-700 pl-6">
ab<span class="promo pl-2">{PRICES.VerbrauchsausweisWohnen[Enums.AusweisTyp.Standard]}</span
>
</p>
<a
href="./energieausweis-erstellen/verbrauchsausweis-wohngebaeude/"
id="link-VA-promo"
class=" w-[90%] justify-self-center text-center text-white font-[700] bg-secondary rounded-md px-3 py-1 mt-2 no-underline text-[1rem]
hover:bg-primary
">jetzt Verbrauchsausweis erstellen</a
>
</div>
</div>
<style lang="scss">
</style>

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import VerbrauchsausweisWohnenModule from "#modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte";
import { AufnahmeClient, BildClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
import { Aufnahme, BedarfsausweisGewerbe, Bild, Enums, Objekt, Unterlage, VerbrauchsausweisWohnen } from "#lib/server/prisma";

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import ProduktUebersichtBedarfsausweisGewerbe from "#components/design/content/ProduktUebersichtBedarfsausweisGewerbe.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import { Aufnahme, Bild, Enums, GEGNachweisGewerbe, GEGNachweisWohnen, Objekt, Unterlage } from "#lib/server/prisma";
import { getAufnahme, getObjekt, getBilder, getGEGNachweisWohnen, getUnterlagen, getGEGNachweisGewerbe } from "#lib/server/db";
import { getCurrentUser } from "#lib/server/user";

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import ProduktUebersichtGEGNachweisGewerbe from "#components/design/content/ProduktUebersichtGEGNachweisGewerbe.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import GEGNachweisWohnenModule from "#modules/angebot-anfragen/GEGNachweisWohnenModule.svelte";
import { Aufnahme, Bild, Enums, GEGNachweisWohnen, Objekt, Unterlage } from "#lib/server/prisma";
import { getAufnahme, getObjekt, getBilder, getGEGNachweisWohnen, getUnterlagen } from "#lib/server/db";

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import ProduktUebersichtGEGNachweisWohnen from "#components/design/content/ProduktUebersichtGEGNachweisWohnen.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import WelcherAusweisWidget from "#components/widgets/immonet/WelcherAusweisWidget_immonet.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import WelcherAusweisWidget from "#components/widgets/immowelt/WelcherAusweisWidget_immowelt.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import WelcherAusweisWidget from "#components/widgets/ibcornelsen/WelcherAusweisWidget_ibcornelsen.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import WelcherAusweisWidget from "#components/widgets/ohnemakler/WelcherAusweisWidget_ohnemakler.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types";
import { createCaller } from "src/astro-typesafe-api-caller";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js";

View File

@@ -1,5 +1,5 @@
---
import Layout from "#layouts/AusweisLayoutDaten_partner.astro";
import Layout from "#layouts/AusweisLayoutDatenPartner.astro";
import ProduktUebersichtBedarfsausweisGewerbe from "#components/design/content/ProduktUebersichtBedarfsausweisGewerbe.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types";
import { createCaller } from "src/astro-typesafe-api-caller";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js";

View File

@@ -1,5 +1,5 @@
---
import Layout from "#layouts/AusweisLayoutDaten_partner.astro";
import Layout from "#layouts/AusweisLayoutDatenPartner.astro";
import ProduktUebersichtGEGNachweisGewerbe from "#components/design/content/ProduktUebersichtGEGNachweisGewerbe.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types";
import { createCaller } from "src/astro-typesafe-api-caller";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js";

View File

@@ -1,5 +1,5 @@
---
import Layout from "#layouts/AusweisLayoutDaten_partner.astro";
import Layout from "#layouts/AusweisLayoutDatenPartner.astro";
import ProduktUebersichtGEGNachweisWohnen from "#components/design/content/ProduktUebersichtGEGNachweisWohnen.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import BedarfsausweisWohnenModule from "#modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte";
import { AufnahmeClient, BedarfsausweisWohnenClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
import { createCaller } from "src/astro-typesafe-api-caller";

View File

@@ -1,5 +1,5 @@
---
import Layout from "#layouts/AusweisLayoutDaten_partner.astro";
import Layout from "#layouts/AusweisLayoutDatenPartner.astro";
import ProduktUebersichtBedarfsausweisWohnen from "#components/design/content/ProduktUebersichtBedarfsausweisWohnen.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types";
import { createCaller } from "src/astro-typesafe-api-caller";
import { inferOutput } from "astro-typesafe-api/client";

View File

@@ -1,5 +1,5 @@
---
import Layout from "#layouts/AusweisLayoutDaten_partner.astro";
import Layout from "#layouts/AusweisLayoutDatenPartner.astro";
import ProduktUebersichtVerbrauchsausweisGewerbe from "#components/design/content/ProduktUebersichtVerbrauchsausweisGewerbe.svelte";
---

View File

@@ -1,5 +1,5 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import AusweisLayout from "#layouts/AusweisLayoutDatenPartner.astro";
import VerbrauchsausweisWohnenModule from "#modules/VerbrauchsausweisWohnen/VerbrauchsausweisWohnenModule.svelte";
import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
import { createCaller } from "src/astro-typesafe-api-caller";

View File

@@ -1,5 +1,5 @@
---
import Layout from "#layouts/AusweisLayoutDaten_partner.astro";
import Layout from "#layouts/AusweisLayoutDatenPartner.astro";
import ProduktUebersichtVerbrauchsausweisWohnen from "#components/design/content/ProduktUebersichtVerbrauchsausweisWohnen.svelte";
---