Merge pull request #479 from IBCornelsen/UMBE

.
This commit is contained in:
UMBENOMENA
2025-04-03 15:16:03 +02:00
committed by GitHub
46 changed files with 1034 additions and 179 deletions

2
.gitignore vendored
View File

@@ -25,8 +25,6 @@ src/astro-typesafe-api-caller.ts
# macOS-specific files # macOS-specific files
.DS_Store .DS_Store
public/fonts/
*.Identifier *.Identifier
src/lib/Berechnungen/BedarfsausweisWohnen/18599-Tabellenverfahren-Wohngebaeude-komplett-ocr.pdf src/lib/Berechnungen/BedarfsausweisWohnen/18599-Tabellenverfahren-Wohngebaeude-komplett-ocr.pdf

75
public/fonts/Content.svg Normal file
View File

@@ -0,0 +1,75 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Copyright (C) 2017 by original authors @ fontello.com</metadata>
<defs>
<font id="t3_content" horiz-adv-x="1000" >
<font-face font-family="t3_content" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
<missing-glyph horiz-adv-x="1000" />
<glyph glyph-name="search" unicode="&#xe101;" d="M643 386q0 103-73 176t-177 74-177-74-73-176 73-177 177-73 177 73 73 177z m286-465q0-29-22-50t-50-21q-30 0-50 21l-191 191q-100-69-223-69-80 0-153 31t-125 84-84 125-31 153 31 152 84 126 125 84 153 31 153-31 125-84 84-126 31-152q0-123-69-223l191-191q21-21 21-51z" horiz-adv-x="928.6" />
<glyph glyph-name="experte" unicode="&#xe102;" d="M571 457v-232q0-22-15-38t-38-16-38 16-16 38v196h-35v-509q0-25-19-44t-44-18-44 18-18 44v259h-36v-259q0-25-19-44t-44-18-44 18-18 44v509h-36v-196q0-22-15-38t-38-16-38 16-16 38v232q0 45 31 76t76 31h357q45 0 76-31t31-76z m-160 250q0-52-37-88t-88-37-89 37-36 88 36 89 89 36 88-36 37-89z" horiz-adv-x="571.4" />
<glyph glyph-name="linktipp" unicode="&#xe103;" d="M813 171q0 23-16 38l-116 116q-16 16-38 16-24 0-40-18 1-1 10-10t12-12 9-11 7-14 2-15q0-23-16-38t-38-16q-8 0-15 2t-14 7-11 9-12 12-10 10q-19-17-19-40 0-23 16-38l115-116q15-15 38-15 22 0 38 15l82 81q16 16 16 37z m-393 394q0 22-15 38l-115 115q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l116-116q15-15 38-15 23 0 40 17-2 2-11 11t-12 12-8 10-7 14-2 16q0 22 15 38t38 15q9 0 16-2t14-7 11-8 12-12 10-11q18 17 18 41z m500-394q0-66-48-113l-82-81q-46-47-113-47-68 0-114 48l-115 115q-46 47-46 114 0 68 49 116l-49 49q-48-49-116-49-67 0-114 47l-116 116q-47 47-47 114t47 113l82 82q47 46 114 46 67 0 114-47l115-116q46-46 46-113 0-69-49-117l49-49q48 49 116 49 67 0 114-47l116-116q47-47 47-114z" horiz-adv-x="928.6" />
<glyph glyph-name="zitat" unicode="&#xe104;" d="M429 671v-392q0-58-23-111t-61-91-91-61-111-23h-36q-14 0-25 11t-11 25v71q0 15 11 25t25 11h36q59 0 101 42t42 101v17q0 23-16 38t-38 16h-125q-44 0-76 31t-31 76v214q0 45 31 76t76 32h214q45 0 76-32t32-76z m500 0v-392q0-58-23-111t-61-91-91-61-111-23h-36q-14 0-25 11t-11 25v71q0 15 11 25t25 11h36q59 0 101 42t42 101v17q0 23-16 38t-38 16h-125q-44 0-76 31t-31 76v214q0 45 31 76t76 32h214q45 0 76-32t32-76z" horiz-adv-x="928.6" />
<glyph glyph-name="medien" unicode="&#xe105;" d="M994 331q0 19-30 19h-607q-22 0-48-12t-39-29l-164-203q-11-13-11-22 0-20 30-20h607q23 0 48 13t40 29l164 203q10 12 10 22z m-637 90h429v90q0 22-16 38t-38 15h-321q-23 0-38 16t-16 38v36q0 22-15 38t-38 15h-179q-22 0-38-15t-16-38v-476l143 175q25 30 65 49t78 19z m708-90q0-35-25-67l-165-203q-24-30-65-49t-78-19h-607q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h303q52 0 88-37t37-88v-90h107q30 0 56-13t37-40q8-17 8-37z" horiz-adv-x="1071.4" />
<glyph glyph-name="newsletter" unicode="&#xe106;" d="M984 844q19-13 15-36l-142-857q-3-16-18-25-8-5-18-5-6 0-13 3l-294 120-166-182q-10-12-27-12-7 0-12 2-11 4-17 13t-6 21v252l-264 108q-20 8-22 30-2 22 18 33l928 536q20 12 38-1z m-190-837l123 739-800-462 187-76 482 356-267-444z" horiz-adv-x="1000" />
<glyph glyph-name="anleitung" unicode="&#xe107;" d="M213-54q0-45-31-70t-75-26q-60 0-96 37l31 49q28-25 60-25 16 0 28 8t12 24q0 35-59 31l-14 31q4 6 18 24t24 31 20 21v1q-9 0-27-1t-27 0v-30h-59v85h186v-49l-53-65q28-6 45-27t17-49z m1 350v-89h-202q-4 20-4 30 0 29 14 52t31 38 37 27 31 24 14 25q0 14-9 22t-22 7q-25 0-45-32l-47 33q13 28 40 44t59 16q40 0 68-23t28-63q0-28-19-51t-42-36-42-28-20-30h71v34h59z m786-178v-107q0-7-5-13t-13-5h-678q-8 0-13 5t-5 13v107q0 8 5 13t13 5h678q7 0 13-6t5-12z m-786 502v-56h-187v56h60q0 22 0 67t1 68v7h-1q-5-10-28-30l-40 42 76 71h59v-225h60z m786-216v-108q0-7-5-12t-13-5h-678q-8 0-13 5t-5 12v108q0 7 5 12t13 5h678q7 0 13-5t5-12z m0 285v-107q0-7-5-12t-13-6h-678q-8 0-13 6t-5 12v107q0 8 5 13t13 5h678q7 0 13-5t5-13z" horiz-adv-x="1000" />
<glyph glyph-name="rechner" unicode="&#xe108;" d="M214-7q0 29-21 50t-50 21-51-21-21-50 21-51 51-21 50 21 21 51z m215 0q0 29-21 50t-51 21-50-21-21-50 21-51 50-21 51 21 21 51z m-215 214q0 30-21 51t-50 21-51-21-21-51 21-50 51-21 50 21 21 50z m429-214q0 29-21 50t-51 21-50-21-21-50 21-51 50-21 51 21 21 51z m-214 214q0 30-21 51t-51 21-50-21-21-51 21-50 50-21 51 21 21 50z m-215 214q0 30-21 51t-50 21-51-21-21-51 21-50 51-21 50 21 21 50z m429-214q0 30-21 51t-51 21-50-21-21-51 21-50 50-21 51 21 21 50z m-214 214q0 30-21 51t-51 21-50-21-21-51 21-50 50-21 51 21 21 50z m428-428v214q0 29-21 50t-50 22-50-22-22-50v-214q0-29 22-50t50-22 50 22 21 50z m-214 428q0 30-21 51t-51 21-50-21-21-51 21-50 50-21 51 21 21 50z m214 179v143q0 14-10 25t-26 11h-714q-14 0-25-11t-11-25v-143q0-14 11-25t25-11h714q15 0 26 11t10 25z m0-179q0 30-21 51t-50 21-51-21-21-51 21-50 51-21 50 21 21 50z m72 358v-858q0-29-22-50t-50-21h-786q-29 0-50 21t-21 50v858q0 29 21 50t50 21h786q29 0 50-21t22-50z" horiz-adv-x="1000" />
<glyph glyph-name="teilen" unicode="&#xe109;" d="M650 200q62 0 106-43t44-107q0-62-44-106t-106-44-106 44-44 106q0 6 1 14t1 12l-260 156q-42-32-92-32-62 0-106 44t-44 106 44 106 106 44q54 0 92-30l260 156q0 4-1 12t-1 12q0 62 44 106t106 44 106-43 44-107q0-62-44-106t-106-44q-52 0-90 32l-262-156q2-8 2-26 0-16-2-24l262-156q36 30 90 30z" horiz-adv-x="800" />
<glyph glyph-name="circle" unicode="&#xe110;" d="M857 350q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
<glyph glyph-name="plus" unicode="&#xe111;" d="M786 439v-107q0-22-16-38t-38-15h-232v-233q0-22-16-37t-38-16h-107q-22 0-38 16t-15 37v233h-232q-23 0-38 15t-16 38v107q0 23 16 38t38 16h232v232q0 22 15 38t38 16h107q23 0 38-16t16-38v-232h232q23 0 38-16t16-38z" horiz-adv-x="785.7" />
<glyph glyph-name="minus" unicode="&#xe112;" d="M786 439v-107q0-22-16-38t-38-15h-678q-23 0-38 15t-16 38v107q0 23 16 38t38 16h678q23 0 38-16t16-38z" horiz-adv-x="785.7" />
<glyph glyph-name="rss" unicode="&#xe113;" d="M214 100q0-45-31-76t-76-31-76 31-31 76 31 76 76 31 76-31 31-76z m286-69q1-15-9-26-10-12-27-12h-75q-14 0-24 9t-11 23q-12 128-103 219t-219 103q-14 1-23 11t-9 24v75q0 16 12 26 9 10 24 10h3q89-7 170-45t145-101q63-63 101-145t45-171z m286-1q1-15-10-26-10-11-26-11h-80q-14 0-25 10t-10 23q-7 120-57 228t-129 188-188 129-227 57q-14 1-24 11t-10 24v80q0 16 11 26 10 10 25 10h1q147-8 280-67t238-164q104-104 164-238t67-280z" horiz-adv-x="785.7" />
<glyph glyph-name="pin" unicode="&#xe114;" d="M268 368v250q0 8-5 13t-13 5-13-5-5-13v-250q0-8 5-13t13-5 13 5 5 13z m375-197q0-14-11-25t-25-10h-239l-29-270q-1-7-6-11t-11-5h-1q-15 0-17 15l-43 271h-225q-15 0-25 10t-11 25q0 69 44 124t99 55v286q-29 0-50 21t-22 50 22 50 50 22h357q29 0 50-22t21-50-21-50-50-21v-286q55 0 99-55t44-124z" horiz-adv-x="642.9" />
<glyph glyph-name="spin1" unicode="&#xe115;" d="M496 850c-176 0-331-90-421-226-18-27-33-55-46-85-12-29-21-60-28-92 0 0 0-1 0-1l0 0 0 0c0-1 0-2 0-2 0-7 5-12 11-12l101 0c5 0 10 4 11 9 29 113 109 206 214 253 20 10 41 17 63 23 31 7 62 11 95 11l0 0 0 0 0 0c25 0 50-2 74-7 5-1 10-2 14-3 6-1 10-3 14-4l0 0c5-1 11 1 13 6l51 87c0 0 1 1 1 2 2 6-1 13-7 15-22 7-43 13-65 17-5 1-9 1-13 2-27 5-54 7-82 7l0 0 0 0z m327-114c-5 0-9-2-11-6l-50-87c-3-4-2-10 2-14 29-29 54-63 73-101 4-7 7-14 11-22 19-46 30-97 30-151l0 0 0 0c0-77-22-149-62-209-7-11-15-23-24-33-9-11-18-21-28-31l0 0 0 0 0 0c-4-4-5-10-2-14l50-87c0-1 1-2 2-3 4-5 11-5 16-1 58 52 104 117 134 190 6 15 11 29 15 44 14 46 21 94 21 144 0 108-34 209-92 291-11 16-23 31-37 46-13 14-26 28-41 41l0 0c-1 1-1 1-2 1-2 1-4 2-5 2z m-811-468l0 0c-1 0-2 0-3 0-6-1-10-8-9-14 34-166 149-302 302-366 30-12 61-21 93-28 32-6 66-10 100-10l0 0 0 0c40 0 79 5 117 14 7 1 14 3 22 5 6 2 13 5 20 7 1 0 2 1 3 1 6 3 8 10 4 16l-50 87c-3 5-8 7-13 6-14-4-28-7-42-9-3-1-6-1-8-2-18-2-35-3-53-3l0 0 0 0c-128 0-242 63-311 160-1 0-1 0-1 0-13 19-25 40-35 61-10 21-18 43-24 65-1 6-6 10-11 10l-101 0z" horiz-adv-x="1000" />
<glyph glyph-name="zoom" unicode="&#xe116;" d="M0 403q0 185 131 316t316 131 318-131 131-316q0-141-82-256l186-186-111-111-186 186q-115-82-256-82-185 0-316 131t-131 318z m127 0q0-133 94-227t226-93 227 93 94 227-94 225-227 93-226-93-94-225z m129-65l0 127 129 0 0 129 127 0 0-129 129 0 0-127-129 0 0-129-127 0 0 129-129 0z" horiz-adv-x="1000" />
<glyph glyph-name="bookmark" unicode="&#xe117;" d="M643 707h-572v-693l237 227 49 47 50-47 236-227v693z m7 72q12 0 24-5 19-8 29-23t11-35v-719q0-19-11-35t-29-23q-10-4-24-4-27 0-47 18l-246 236-246-236q-20-19-46-19-13 0-25 5-18 7-29 23t-11 35v719q0 19 11 35t29 23q12 5 25 5h585z" horiz-adv-x="714.3" />
<glyph glyph-name="fazit" unicode="&#xe118;" d="M464 797l447-446-447-448-157 160 175 176-464 0 0 224 464 0-175 176z" horiz-adv-x="928" />
<glyph glyph-name="close" unicode="&#xe119;" d="M724 112q0-22-15-38l-76-76q-16-15-38-15t-38 15l-164 165-164-165q-16-15-38-15t-38 15l-76 76q-16 16-16 38t16 38l164 164-164 164q-16 16-16 38t16 38l76 76q16 16 38 16t38-16l164-164 164 164q16 16 38 16t38-16l76-76q15-15 15-38t-15-38l-164-164 164-164q15-15 15-38z" horiz-adv-x="785.7" />
<glyph glyph-name="check" unicode="&#xe120;" d="M933 534q0-22-16-38l-404-404-76-76q-16-15-38-15t-38 15l-76 76-202 202q-15 16-15 38t15 38l76 76q16 16 38 16t38-16l164-165 366 367q16 16 38 16t38-16l76-76q16-15 16-38z" horiz-adv-x="1000" />
<glyph glyph-name="sparen" unicode="&#xe121;" d="M545 121l19-89q2-7-1-13t-10-8l-3 0q-2-1-6-2t-9-3-12-3-14-3-16-2-19-3-21-2-21 0q-131 0-228 73t-133 196h-53q-7 0-13 5t-5 13v63q0 7 5 12t13 6h37q-1 31 0 58h-37q-8 0-13 5t-5 13v64q0 8 5 13t13 5h55q37 117 135 188t224 72q57 0 108-13 6-2 11-9 4-6 2-13l-24-89q-2-7-8-11t-13-1l-2 1q-3 0-7 1l-10 2t-12 2-15 2-16 1-16 1q-71 0-126-36t-84-98h261q9 0 14-7 6-7 4-15l-13-63q-3-15-18-15h-273q-1-20 0-58h257q8 0 13-7 5-7 4-15l-14-63q-1-6-6-10t-11-4h-216q27-65 84-104t127-38q10 0 20 1t19 2 16 2 14 3 10 3l7 1 3 2q7 2 14-2 7-3 9-11z" horiz-adv-x="571.4" />
<glyph glyph-name="info-circled" unicode="&#xe122;" d="M571 82v89q0 8-5 13t-12 5h-54v286q0 8-5 13t-13 5h-178q-8 0-13-5t-5-13v-89q0-8 5-13t13-5h53v-179h-53q-8 0-13-5t-5-13v-89q0-8 5-13t13-5h250q7 0 12 5t5 13z m-71 500v89q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-89q0-8 5-13t13-5h107q8 0 13 5t5 13z m357-232q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
<glyph glyph-name="attention" unicode="&#xe123;" d="M571 83v106q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-106q0-8 5-13t12-6h108q7 0 12 6t5 13z m-1 208l10 257q0 6-5 10-7 6-14 6h-122q-6 0-14-6-5-4-5-12l9-255q0-5 6-9t13-3h103q8 0 14 3t5 9z m-7 522l428-786q20-35-1-70-9-17-26-26t-35-10h-858q-18 0-35 10t-26 26q-21 35-1 70l429 786q9 17 26 27t36 10 36-10 27-27z" horiz-adv-x="1000" />
<glyph glyph-name="youtube-play" unicode="&#xe124;" d="M397 221l270 139-270 141v-280z m103 481q94 0 181-3t128-5l41-2q0 0 9-1t13-2 13-2 16-5 16-7 17-11 16-15q4-3 9-10t16-33 15-56q4-36 7-76t3-64v-98q1-81-10-162-4-30-14-55t-18-35l-8-9q-7-8-16-15t-17-10-16-7-16-5-13-2-13-2-9-1q-140-11-350-11-115 2-201 4t-111 4l-28 3-20 2q-20 3-30 5t-29 12-31 23q-4 3-9 10t-16 33-15 56q-4 36-7 76t-3 64v98q-1 81 10 162 4 31 14 55t18 35l8 9q8 9 16 15t17 11 16 7 16 5 13 2 13 2 9 1q140 10 350 10z" horiz-adv-x="1000" />
<glyph glyph-name="download" unicode="&#xe125;" d="M714 100q0 15-10 25t-25 11-25-11-11-25 11-25 25-11 25 11 10 25z m143 0q0 15-10 25t-26 11-25-11-10-25 10-25 25-11 26 11 10 25z m72 125v-179q0-22-16-37t-38-16h-821q-23 0-38 16t-16 37v179q0 22 16 38t38 16h259l75-76q33-32 76-32t76 32l76 76h259q22 0 38-16t16-38z m-182 318q10-23-8-39l-250-250q-10-11-25-11t-25 11l-250 250q-17 16-8 39 10 21 33 21h143v250q0 15 11 25t25 11h143q14 0 25-11t10-25v-250h143q24 0 33-21z" horiz-adv-x="928.6" />
<glyph glyph-name="praxistipp" unicode="&#xe126;" d="M411 529q0-8-6-13t-12-5-13 5-5 13q0 25-30 39t-59 14q-7 0-13 5t-5 13 5 13 13 5q28 0 55-9t49-30 21-50z m89 0q0 40-19 74t-50 57-69 35-76 12-76-12-69-35-50-57-20-74q0-57 38-101 6-6 17-18t17-19q72-85 79-166h127q8 81 79 166 6 6 17 19t17 18q38 44 38 101z m71 0q0-87-57-150-25-27-42-48t-33-54-19-60q26-15 26-46 0-20-13-35 13-15 13-36 0-29-25-45 8-13 8-26 0-26-18-40t-43-14q-11-25-34-39t-48-15-49 15-33 39q-26 0-44 14t-17 40q0 13 7 26-25 16-25 45 0 21 14 36-14 15-14 35 0 31 26 46-2 28-19 60t-33 54-41 48q-58 63-58 150 0 55 25 103t65 79 92 49 104 19 104-19 91-49 66-79 24-103z" horiz-adv-x="571.4" />
<glyph glyph-name="mail" unicode="&#xe127;" d="M929 11v428q-18-20-39-36-149-115-238-189-28-24-46-37t-48-28-57-13h-2q-26 0-57 13t-48 28-46 37q-88 74-238 189-21 16-39 36v-428q0-7 6-13t12-5h822q7 0 12 5t6 13z m0 586v14t-1 7-1 7-3 5-5 4-8 2h-822q-7 0-12-6t-6-12q0-94 83-159 107-84 223-176 4-3 20-17t25-21 25-17 28-16 24-5h2q11 0 24 5t28 16 25 17 25 21 20 17q116 92 224 176 30 24 56 65t26 73z m71 21v-607q0-37-26-63t-63-27h-822q-36 0-63 27t-26 63v607q0 37 26 63t63 26h822q37 0 63-26t26-63z" horiz-adv-x="1000" />
<glyph glyph-name="star" unicode="&#xe128;" d="M929 489q0-12-15-27l-202-197 48-279q0-4 0-12 0-11-6-19t-17-9q-10 0-22 7l-251 132-250-132q-12-7-23-7-11 0-17 9t-6 19q0 4 1 12l48 279-203 197q-14 15-14 27 0 21 31 26l280 40 126 254q11 23 27 23t28-23l125-254 280-40q32-5 32-26z" horiz-adv-x="928.6" />
<glyph glyph-name="star-empty" unicode="&#xe129;" d="M635 290l170 166-235 34-106 213-105-213-236-34 171-166-41-235 211 111 211-111z m294 199q0-12-15-27l-202-197 48-279q0-4 0-12 0-28-23-28-10 0-22 7l-251 132-250-132q-12-7-23-7-11 0-17 9t-6 19q0 4 1 12l48 279-203 197q-14 15-14 27 0 21 31 26l280 40 126 254q11 23 27 23t28-23l125-254 280-40q32-5 32-26z" horiz-adv-x="928.6" />
<glyph glyph-name="comment-empty" unicode="&#xe130;" d="M500 636q-114 0-213-39t-157-105-59-142q0-62 40-119t113-98l48-28-15-53q-13-51-39-97 85 36 154 96l24 21 32-3q38-5 72-5 114 0 213 39t157 105 59 142-59 142-157 105-213 39z m500-286q0-97-67-179t-182-130-251-48q-39 0-81 4-110-97-257-135-27-8-63-12h-3q-8 0-15 6t-9 15v1q-2 2 0 6t1 6 2 5l4 5t4 5 4 5q4 5 17 19t20 22 17 22 18 28 15 33 15 42q-88 50-138 123t-51 157q0 97 67 179t182 130 251 48 251-48 182-130 67-179z" horiz-adv-x="1000" />
<glyph glyph-name="print" unicode="&#xe131;" d="M214-7h500v143h-500v-143z m0 357h500v214h-89q-22 0-38 16t-16 38v89h-357v-357z m643-36q0 15-10 25t-26 11-25-11-10-25 10-25 25-10 26 10 10 25z m72 0v-232q0-7-6-12t-12-6h-125v-89q0-22-16-38t-38-16h-536q-22 0-37 16t-16 38v89h-125q-7 0-13 6t-5 12v232q0 44 32 76t75 31h36v304q0 22 16 38t37 16h375q23 0 50-12t42-26l85-85q15-16 27-43t11-49v-143h35q45 0 76-31t32-76z" horiz-adv-x="928.6" />
<glyph glyph-name="calendar-empty" unicode="&#xe132;" d="M71-79h786v572h-786v-572z m215 679v161q0 8-5 13t-13 5h-36q-8 0-13-5t-5-13v-161q0-8 5-13t13-5h36q8 0 13 5t5 13z m428 0v161q0 8-5 13t-13 5h-35q-8 0-13-5t-5-13v-161q0-8 5-13t13-5h35q8 0 13 5t5 13z m215 36v-715q0-29-22-50t-50-21h-786q-29 0-50 21t-21 50v715q0 29 21 50t50 21h72v54q0 37 26 63t63 26h36q37 0 63-26t26-63v-54h214v54q0 37 27 63t63 26h35q37 0 64-26t26-63v-54h71q29 0 50-21t22-50z" horiz-adv-x="928.6" />
</font>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

BIN
public/fonts/Content.woff Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

View File

@@ -0,0 +1 @@
<svg viewBox="0 0 149 32" xmlns="http://www.w3.org/2000/svg" class="css-1qno6kt"><title>Immonet Startseite</title><path fill="#00B6F5" d="M84.25 17.265v8.29h-3.494v-7.254c0-1.924-.872-2.96-2.473-2.96-1.454 0-2.764 1.036-2.764 2.96v7.254h-3.493V12.38h3.347v1.48c.873-1.332 2.328-1.924 3.783-1.924 3.056.148 5.093 2.22 5.093 5.33zm14.986 1.777v1.184H90.07c.437 1.924 1.746 2.665 3.347 2.665a4.473 4.473 0 0 0 3.201-1.333l2.037 2.22c-1.455 1.333-3.347 1.926-5.528 1.926-3.93 0-6.694-2.665-6.694-6.81 0-4.146 2.619-6.959 6.548-6.959 3.783.149 6.256 2.962 6.256 7.107zm-9.167-1.185h5.675c-.29-1.628-1.31-2.664-2.765-2.664-1.6 0-2.619 1.036-2.91 2.664zm20.953-2.22h-4.656v4.737c0 1.629.873 2.22 1.892 2.22.873 0 1.746-.444 2.473-.887l1.31 2.812c-1.164.74-2.474 1.333-4.22 1.333-3.202 0-4.801-1.777-4.801-5.182v-5.033h-2.474v-3.109h2.328v-3.85h3.493v3.85h4.656zm18.917-1.777V7.495h3.492v18.06h-3.347v-1.48c-.873 1.037-2.037 1.777-3.783 1.777-3.492 0-6.257-2.961-6.257-6.958 0-3.997 2.62-6.958 6.257-6.958a5.536 5.536 0 0 1 3.638 1.925zm-6.548 5.182c0 2.072 1.309 3.552 3.346 3.552 2.038 0 3.347-1.48 3.347-3.552 0-2.073-1.31-3.553-3.347-3.553s-3.346 1.48-3.346 3.553zm25.609 0v1.184h-9.168c.438 1.924 1.747 2.665 3.347 2.665a5.038 5.038 0 0 0 3.202-1.184l2.037 2.22c-1.455 1.332-3.346 1.924-5.529 1.924-3.929 0-6.694-2.665-6.694-6.81s2.619-6.957 6.548-6.957c3.638 0 6.257 2.813 6.257 6.958zm-9.168-1.185h5.675c-.29-1.628-1.309-2.664-2.764-2.664-1.746 0-2.619 1.036-2.911 2.664zm-21.388 5.626c.145 1.332-1.019 2.517-2.329 2.369-1.018 0-2.037-1.037-2.037-2.073-.146-1.332 1.018-2.516 2.328-2.369 1.019 0 2.038 1.037 2.038 2.073z"></path><path fill="#000" d="M4.365 8.235c0 1.332-1.018 2.22-2.182 2.22C.873 10.456 0 9.42 0 8.236c0-1.332 1.019-2.22 2.183-2.22 1.31-.149 2.182.888 2.182 2.22zm-.436 17.32H.436V12.38H3.93zm24.445-8.29v8.29h-3.492v-7.254c0-1.924-.873-2.96-2.474-2.96-1.455 0-2.765 1.036-2.765 2.96v7.254h-3.492v-7.254c0-1.924-.873-2.96-2.473-2.96-1.455 0-2.765 1.036-2.765 2.96v7.254H7.421V12.38h3.346v1.48c.873-1.332 2.328-1.924 3.783-1.924 1.892 0 3.347.888 4.22 2.22 1.019-1.628 2.62-2.22 4.365-2.22 3.202.148 5.24 2.22 5.24 5.33zm24.446 0v8.29h-3.493v-7.254c0-1.924-.873-2.96-2.474-2.96-1.454 0-2.764 1.036-2.764 2.96v7.254h-3.492v-7.254c0-1.924-.874-2.96-2.474-2.96-1.455 0-2.765 1.036-2.765 2.96v7.254h-3.492V12.38h3.346v1.48c.873-1.332 2.328-1.924 3.784-1.924 1.891 0 3.346.888 4.22 2.22 1.018-1.628 2.618-2.22 4.364-2.22 3.202.148 5.24 2.22 5.24 5.33zm16.587 1.777c0 3.997-2.91 6.958-6.984 6.958s-6.984-2.96-6.984-6.958c0-3.997 2.91-6.958 6.984-6.958s6.984 2.96 6.984 6.958zm-10.331 0c0 2.072 1.455 3.552 3.347 3.552 1.891 0 3.492-1.48 3.492-3.552 0-2.073-1.456-3.553-3.492-3.553-1.892 0-3.347 1.48-3.347 3.553z"></path></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@@ -0,0 +1 @@
<svg viewBox="0 0 149 32" xmlns="http://www.w3.org/2000/svg" class="css-1qno6kt"><title>Immonet Startseite</title><path fill="#00B6F5" d="M84.25 17.265v8.29h-3.494v-7.254c0-1.924-.872-2.96-2.473-2.96-1.454 0-2.764 1.036-2.764 2.96v7.254h-3.493V12.38h3.347v1.48c.873-1.332 2.328-1.924 3.783-1.924 3.056.148 5.093 2.22 5.093 5.33zm14.986 1.777v1.184H90.07c.437 1.924 1.746 2.665 3.347 2.665a4.473 4.473 0 0 0 3.201-1.333l2.037 2.22c-1.455 1.333-3.347 1.926-5.528 1.926-3.93 0-6.694-2.665-6.694-6.81 0-4.146 2.619-6.959 6.548-6.959 3.783.149 6.256 2.962 6.256 7.107zm-9.167-1.185h5.675c-.29-1.628-1.31-2.664-2.765-2.664-1.6 0-2.619 1.036-2.91 2.664zm20.953-2.22h-4.656v4.737c0 1.629.873 2.22 1.892 2.22.873 0 1.746-.444 2.473-.887l1.31 2.812c-1.164.74-2.474 1.333-4.22 1.333-3.202 0-4.801-1.777-4.801-5.182v-5.033h-2.474v-3.109h2.328v-3.85h3.493v3.85h4.656zm18.917-1.777V7.495h3.492v18.06h-3.347v-1.48c-.873 1.037-2.037 1.777-3.783 1.777-3.492 0-6.257-2.961-6.257-6.958 0-3.997 2.62-6.958 6.257-6.958a5.536 5.536 0 0 1 3.638 1.925zm-6.548 5.182c0 2.072 1.309 3.552 3.346 3.552 2.038 0 3.347-1.48 3.347-3.552 0-2.073-1.31-3.553-3.347-3.553s-3.346 1.48-3.346 3.553zm25.609 0v1.184h-9.168c.438 1.924 1.747 2.665 3.347 2.665a5.038 5.038 0 0 0 3.202-1.184l2.037 2.22c-1.455 1.332-3.346 1.924-5.529 1.924-3.929 0-6.694-2.665-6.694-6.81s2.619-6.957 6.548-6.957c3.638 0 6.257 2.813 6.257 6.958zm-9.168-1.185h5.675c-.29-1.628-1.309-2.664-2.764-2.664-1.746 0-2.619 1.036-2.911 2.664zm-21.388 5.626c.145 1.332-1.019 2.517-2.329 2.369-1.018 0-2.037-1.037-2.037-2.073-.146-1.332 1.018-2.516 2.328-2.369 1.019 0 2.038 1.037 2.038 2.073z"></path><path fill="#000" d="M4.365 8.235c0 1.332-1.018 2.22-2.182 2.22C.873 10.456 0 9.42 0 8.236c0-1.332 1.019-2.22 2.183-2.22 1.31-.149 2.182.888 2.182 2.22zm-.436 17.32H.436V12.38H3.93zm24.445-8.29v8.29h-3.492v-7.254c0-1.924-.873-2.96-2.474-2.96-1.455 0-2.765 1.036-2.765 2.96v7.254h-3.492v-7.254c0-1.924-.873-2.96-2.473-2.96-1.455 0-2.765 1.036-2.765 2.96v7.254H7.421V12.38h3.346v1.48c.873-1.332 2.328-1.924 3.783-1.924 1.892 0 3.347.888 4.22 2.22 1.019-1.628 2.62-2.22 4.365-2.22 3.202.148 5.24 2.22 5.24 5.33zm24.446 0v8.29h-3.493v-7.254c0-1.924-.873-2.96-2.474-2.96-1.454 0-2.764 1.036-2.764 2.96v7.254h-3.492v-7.254c0-1.924-.874-2.96-2.474-2.96-1.455 0-2.765 1.036-2.765 2.96v7.254h-3.492V12.38h3.346v1.48c.873-1.332 2.328-1.924 3.784-1.924 1.891 0 3.346.888 4.22 2.22 1.018-1.628 2.618-2.22 4.364-2.22 3.202.148 5.24 2.22 5.24 5.33zm16.587 1.777c0 3.997-2.91 6.958-6.984 6.958s-6.984-2.96-6.984-6.958c0-3.997 2.91-6.958 6.984-6.958s6.984 2.96 6.984 6.958zm-10.331 0c0 2.072 1.455 3.552 3.347 3.552 1.891 0 3.492-1.48 3.492-3.552 0-2.073-1.456-3.553-3.492-3.553-1.892 0-3.347 1.48-3.347 3.553z"></path></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" width="95.61mm" height="39.29mm" viewBox="0 0 271.02 111.38">
<defs>
<style>
.cls-1 {
fill: #fc0;
}
.cls-2 {
fill: #222;
}
</style>
</defs>
<g id="Wellen">
<path class="cls-1" d="M271.01,65.51c-1.29,5.97-4.05,11.58-7.44,16.72-3.45,5.11-7.71,9.7-12.58,13.54-4.84,3.88-10.32,6.93-16.02,9.32-5.73,2.35-11.73,3.94-17.8,4.98-12.17,1.95-24.54,1.59-36.56-.24-12.04-1.81-23.79-5.03-35.08-9.32,11.79,2.6,23.6,4.87,35.49,6.03,5.94.54,11.89.93,17.82.81,5.93-.06,11.84-.48,17.66-1.48,11.62-1.85,22.92-5.93,32.54-12.75,4.79-3.42,9.17-7.47,12.89-12.12,3.73-4.64,6.91-9.81,9.09-15.48h-.01Z"/>
<path class="cls-1" d="M.01,87.43c5.04-3.14,10.5-5.58,16.05-7.75,5.56-2.17,11.29-3.9,17.08-5.42,11.63-2.86,23.59-4.58,35.64-5,12.04-.44,24.14.34,36.07,2.2,5.97.92,11.88,2.16,17.74,3.6,2.92.72,5.86,1.55,8.71,2.38,2.85.83,5.61,1.64,8.41,2.4,5.59,1.59,11.21,3.07,16.84,4.41,5.62,1.39,11.28,2.59,16.93,3.66,11.31,2.11,22.72,3.52,34.02,3.34,11.25-.23,22.53-2.12,32.47-7.4,2.49-1.29,4.9-2.77,7.2-4.44,2.3-1.67,4.45-3.55,6.55-5.53,4.16-3.99,7.81-8.6,11.16-13.48-2.24,5.48-5.15,10.75-8.81,15.56-3.65,4.83-8.15,9.1-13.22,12.64-5.12,3.47-10.81,6.13-16.72,8.01-5.91,1.89-12.03,2.97-18.13,3.53-12.24,1.1-24.42.14-36.31-1.64-11.9-1.82-23.57-4.56-35.04-7.76-2.87-.81-5.75-1.67-8.55-2.51-2.79-.85-5.52-1.61-8.31-2.36-5.54-1.51-11.15-2.75-16.78-3.85-11.27-2.16-22.72-3.47-34.23-3.89-11.51-.39-23.1.02-34.61,1.56-5.77.69-11.5,1.73-17.22,2.97-2.86.62-5.7,1.32-8.52,2.12-2.84.76-5.65,1.64-8.43,2.64h.01Z"/>
</g>
<g id="Gewerbegebaeude">
<path class="cls-2" d="M102.43,66.76V0l-34.28,10.84v54.01c11.44-.32,22.93.35,34.28,1.92h0Z"/>
<path class="cls-2" d="M254.82,64.65c-.02-6.59,0-45.44,0-45.44l-24.88-6.69v66.43s11.96-.84,24.22-12.71c.42-.41.66-.99.65-1.6h.01Z"/>
<g>
<polygon class="cls-2" points="106.61 8.82 106.61 .65 226.67 21.34 226.67 28.05 106.61 8.82"/>
<polygon class="cls-2" points="107.24 23.27 107.24 14.47 226.67 31.7 226.67 37.55 107.24 23.27"/>
<polygon class="cls-2" points="107.24 37.33 107.24 28.54 226.67 40.36 226.67 46.21 107.24 37.33"/>
<polygon class="cls-2" points="107.24 51.47 107.24 42.68 226.67 49.62 226.67 55.47 107.24 51.47"/>
<polygon class="cls-2" points="107.24 64.67 107.24 55.88 226.67 58.51 226.67 64.36 107.24 64.67"/>
<path class="cls-2" d="M122.77,70.43c3.1.69,6.21,1.48,9.24,2.28,1.2.32,2.39.63,3.57.94l91.08.55v-5.86l-119.43-.7h-.09c5.22.81,10.49,1.66,15.63,2.79Z"/>
</g>
<g>
<polygon class="cls-2" points="9.36 49.75 9.24 44 65.31 20.7 65.31 40.13 9.36 49.75"/>
<polygon class="cls-2" points="65.31 55.18 9.62 60.96 9.45 53.35 65.31 44.42 65.31 55.18"/>
<path class="cls-2" d="M43.87,67.07c7.08-1.11,14.25-1.82,21.44-2.12v-5.15l-55.63,4.35.17,7.82s34.02-4.9,34.02-4.9Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@@ -0,0 +1 @@
<svg viewBox="0 0 109 32" xmlns="http://www.w3.org/2000/svg" class="css-1qno6kt"><title>immowelt Startseite</title><g fill-rule="evenodd" clip-rule="evenodd"><path fill="#323232" d="M12.736 4.664C5.568 4.664.664 9.384.664 16.008c0 6.608 4.92 11.328 12.072 11.328h35.16c7.152 0 12.273-4.72 12.273-11.328 0-6.624-5.104-11.344-12.273-11.344z"></path><path fill="#fc0" d="M47.896 4.664c7.169 0 12.273 4.72 12.273 11.344 0 6.608-5.12 11.328-12.273 11.328h48.2c7.153 0 12.241-4.72 12.241-11.328 0-6.624-5.072-11.344-12.24-11.344z"></path><path fill="#fff" d="M12.264 7.784c-.864 0-1.536.664-1.536 1.512 0 .808.672 1.464 1.536 1.464.848 0 1.52-.672 1.52-1.464a1.513 1.513 0 0 0-1.52-1.512zm39.153 5.952c1.431 0 2.351 1.008 2.351 2.552 0 1.52-.952 2.56-2.352 2.56-1.392 0-2.344-1.04-2.344-2.56 0-1.512.952-2.552 2.344-2.552zM10.975 11.64v9.288h2.56V11.64zm9.48-.248c-1.128 0-2.096.48-2.68 1.288v-1.04h-2.4v9.288h2.56v-6.096c.328-.656 1.024-1.112 1.712-1.112.896 0 1.536.704 1.536 1.728v5.48h2.56v-6.096c.28-.656 1-1.112 1.728-1.112.896 0 1.496.704 1.496 1.728v5.48h2.56v-5.96c0-2.184-1.408-3.576-3.6-3.576-1.144 0-2.08.424-2.84 1.36-.6-.904-1.504-1.36-2.632-1.36zm15.832 0c-1.128 0-2.096.48-2.68 1.288v-1.04h-2.4v9.288h2.56v-6.096c.336-.656 1.024-1.112 1.712-1.112.896 0 1.536.704 1.536 1.728v5.48h2.56v-6.096c.28-.656 1.008-1.112 1.728-1.112.904 0 1.504.704 1.504 1.728v5.48h2.552v-5.96c0-2.184-1.408-3.576-3.6-3.576-1.144 0-2.08.424-2.84 1.36-.6-.904-1.496-1.36-2.632-1.36zm15.128 0c-2.823 0-4.904 2.08-4.904 4.896 0 2.824 2.08 4.904 4.904 4.904 2.849 0 4.912-2.064 4.912-4.904 0-2.848-2.048-4.896-4.912-4.896z"></path><path fill="#323232" d="M90.977 17.792c0 .648.28.968.863.968.249 0 .497-.056.729-.16l.312 2.128c-.456.216-1.024.32-1.625.32-1.8 0-2.887-1.072-2.887-2.888V8.608h2.608zM71.192 11.64l2.129 5.488 1.735-5.488h2.592l-3.016 9.288h-2.575l-2.177-5.816-2.135 5.816h-2.577L62.12 11.64h2.736l1.72 5.512 2.128-5.512zm28.257 6.696c-.44.28-.88.424-1.392.424-.816 0-1.288-.44-1.288-1.184v-3.664h3.16V11.64h-3.16V9.4h-2.616v2.24h-1.76v2.272h1.76v3.896c0 2.08 1.376 3.384 3.567 3.384 1.009 0 1.873-.248 2.649-.76zm-21.697-2.048c0-2.816 2.072-4.88 4.857-4.88 2.72 0 4.504 1.904 4.504 4.848 0 .32 0 .632-.033.88h-6.792c.289 1.152 1.169 1.848 2.392 1.848.92 0 1.64-.384 2.104-1.104l1.785 1.424c-.784 1.16-2.192 1.888-3.872 1.888-2.84 0-4.945-2.096-4.945-4.904zm6.857-1.016c-.208-1.072-.984-1.712-2.048-1.712-1.08 0-1.904.664-2.224 1.712z"></path><path fill="#fff" d="M96.073 28H12.736c-3.72 0-6.912-1.232-9.176-3.368C1.296 22.496 0 19.48 0 16.008c0-3.48 1.296-6.496 3.56-8.64C5.816 5.232 9.008 4 12.736 4h83.337C103.553 4 109 8.968 109 16.008 109 23.032 103.536 28 96.072 28zm0-.664H12.736c-7.152 0-12.072-4.72-12.072-11.328 0-6.624 4.904-11.344 12.072-11.344h83.337c7.168 0 12.264 4.72 12.264 11.344 0 6.608-5.112 11.328-12.264 11.328z"></path></g></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" width="95.61mm" height="39.47mm" viewBox="0 0 271.02 111.88">
<defs>
<style>
.cls-1 {
fill: #fc0;
}
.cls-2 {
fill: #222;
}
.cls-3 {
fill: #c6c6c6;
}
</style>
</defs>
<g id="Wellen">
<path class="cls-1" d="M271.01,66.01c-1.29,5.97-4.05,11.58-7.44,16.72-3.45,5.11-7.71,9.7-12.58,13.54-4.84,3.88-10.32,6.93-16.02,9.32-5.73,2.35-11.73,3.94-17.8,4.98-12.17,1.95-24.54,1.59-36.56-.24-12.04-1.81-23.79-5.03-35.08-9.32,11.79,2.6,23.6,4.87,35.49,6.03,5.94.54,11.89.93,17.82.81,5.93-.06,11.84-.48,17.66-1.48,11.62-1.85,22.92-5.93,32.54-12.75,4.79-3.42,9.17-7.47,12.89-12.12,3.73-4.64,6.91-9.81,9.09-15.48h-.01Z"/>
<path class="cls-1" d="M.01,87.93c5.04-3.14,10.5-5.58,16.05-7.75,5.56-2.17,11.29-3.9,17.08-5.42,11.63-2.86,23.59-4.58,35.64-5,12.04-.44,24.14.34,36.07,2.2,5.97.92,11.88,2.16,17.74,3.6,2.92.72,5.86,1.55,8.71,2.38,2.85.83,5.61,1.64,8.41,2.4,5.59,1.59,11.21,3.07,16.84,4.41,5.62,1.39,11.28,2.59,16.93,3.66,11.31,2.11,22.72,3.52,34.02,3.34,11.25-.23,22.53-2.12,32.47-7.4,2.49-1.29,4.9-2.77,7.2-4.44,2.3-1.67,4.45-3.55,6.55-5.53,4.16-3.99,7.81-8.6,11.16-13.48-2.24,5.48-5.15,10.75-8.81,15.56-3.65,4.83-8.15,9.1-13.22,12.64-5.12,3.47-10.81,6.13-16.72,8.01-5.91,1.89-12.03,2.97-18.13,3.53-12.24,1.1-24.42.14-36.31-1.64-11.9-1.82-23.57-4.56-35.04-7.76-2.87-.81-5.75-1.67-8.55-2.51-2.79-.85-5.52-1.61-8.31-2.36-5.54-1.51-11.15-2.75-16.78-3.85-11.27-2.16-22.72-3.47-34.23-3.89-11.51-.39-23.1.02-34.61,1.56-5.77.69-11.5,1.73-17.22,2.97-2.86.62-5.7,1.32-8.52,2.12-2.84.76-5.65,1.64-8.43,2.64h.01Z"/>
</g>
<g id="Wohngebaeude">
<g>
<path class="cls-2" d="M62.11,66.01L103.84,11.59l52.17,63.63s72.22,24.35,98.81-11.35l-26.6-38.82-27.22-4.45V0h-19.83v39.66h-7.08v-22.76L101.53,4.02l-39.42,61.99Z"/>
<polygon class="cls-2" points="72.54 39.06 91.67 14.16 47.38 14.16 10.08 72.88 49.01 19.22 72.54 39.06"/>
<g>
<rect class="cls-3" x="90.52" y="35.34" width="11.33" height="12.75"/>
<rect class="cls-3" x="103.27" y="35.34" width="11.33" height="12.75"/>
<rect class="cls-3" x="90.52" y="49.51" width="11.33" height="12.75"/>
<rect class="cls-3" x="103.27" y="49.51" width="11.33" height="12.75"/>
</g>
<g>
<rect class="cls-3" x="40.94" y="35.41" width="5.67" height="8.5"/>
<rect class="cls-3" x="48.03" y="35.41" width="5.67" height="8.5"/>
<rect class="cls-3" x="40.94" y="45.33" width="5.67" height="8.5"/>
<rect class="cls-3" x="48.03" y="45.33" width="5.67" height="8.5"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

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

View File

@@ -10,10 +10,11 @@
</script> </script>
<div id="fensterflaechen" class="bereich-box grid <div id="Lüftung und Kühlung" class="bereich-box grid
grid-cols-1 gap-x-4 gap-y-8 grid-cols-1 gap-x-4 gap-y-8
sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8 sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8
xl:grid-cols-4 xl:gap-x-8 xl:gap-y-8 xl:grid-cols-2 xl:gap-x-8 xl:gap-y-8
2xl:grid-cols-4 xl:gap-x-8 xl:gap-y-8
" "
> >
@@ -77,7 +78,7 @@ xl:grid-cols-4 xl:gap-x-8 xl:gap-y-8
<div class="input-standard order-4 md:order-4 xl:order-4 sm:col-span-2 items-center"> <div class="input-standard order-4 md:order-4 xl:order-4 sm:col-span-2 items-center">
<Inputlabel title="Alternative Energieversorgungssyteme"></Inputlabel> <Inputlabel title="Alternative Energieversorgungssyteme"></Inputlabel>
<div class="input-row items-center gap-2 lg:gap-20 xl:gap-24"> <div class="input-row items-center justify-between">
<div class="grid grid-cols-[max-content_40px] gap-2 items-center"> <div class="grid grid-cols-[max-content_40px] gap-2 items-center">
<input <input

View File

@@ -1,71 +0,0 @@
---
import HeaderLogin from "#components/design/header/HeaderLogin.svelte";
const { tabHover1 } = Astro.props;
const { tabHover2 } = Astro.props;
const { tabHover3 } = Astro.props;
const { tabHover4 } = Astro.props;
const { tabHover5 } = Astro.props;
const { tabHover6 } = Astro.props;
---
<header id="header" class="w-full bg-white h-[81px] sm:pl-8">
<div class="grid grid-cols-[min-content_1fr] items-center">
<div class="w-[150px] h-[80px]">
<div class="w-full h-full grid grid-col-1 justify-items-center items-center">
<img class="w-[109px]" src="/images/immowelt/immowelt.svg" alt="immowelt"/>
</div>
</div>
<div>
<ul class="navlist">
<li><a href="/immowelt/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/"><button class={tabHover1}>Verbrauchsausweis</button></a></li>
<li><a href="/immowelt/energieausweis-erstellen/verbrauchsausweis-gewerbe/"><button class={tabHover2}>Verbrauchsausweis Gewerbe</button></a></li>
<li><a href="/immowelt/energieausweis-erstellen/bedarfsausweis-wohngebaeude/"><button class={tabHover3}>Bedarfsausweis</button></a></li>
<li><a href="/immowelt/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/"><button class={tabHover4}>Bedarfsausweis Gewerbe</button></a></li>
<li><a href="/immowelt/angebot-anfragen/geg-nachweis-wohnen-anfragen/"><button class={tabHover5}>GEG Nachweis Wohngebäude</button></a></li>
<li><a href="/immowelt/angebot-anfragen/geg-nachweis-gewerbe-anfragen/"><button class={tabHover6}>GEG Nachweis Gewerbe</button></a></li>
</ul>
</div>
</div>
</header>
<div class="block w-full 2xl:h-[270px] lg:h-[148px] bg-cover" style="background-image: url('/images/immowelt/hero-desktop.webp');
background-repeat:no-repeat; background-position:right;">
</div>
<style lang="postcss">
@font-face {
font-family: "immo Sans";
src: url('/fonts/Immo-Sans/immoSans-Regular.eot');
src: url('/fonts/Immo-Sans/immoSans-Regular.eot?#iefix') format('embedded-opentype'),
url('/fonts/Immo-Sans/immoSans-Regular.woff2') format('woff2'),
url('/fonts/Immo-Sans/immoSans-Regular.woff') format('woff');
font-style: normal;
font-weight: 400;
}
.header-button {
@apply px-4 py-2 text-primary-content font-medium text-lg tracking-normal hover:bg-secondary h-full;
}
.navlist{@apply block sm:flex pl-[1.75rem];}
.navlist li{@apply flex md:pr-[6px]}
.navlist li button{@apply text-[0.75rem] md:text-[1rem] text-[#646464] sm:p-2 text-left
hover:rounded-[1rem] hover:bg-[rgba(50,50,50,0.1)];
font-family: "immo Sans";
font-weight:400;}
.glow{@apply rounded-[1rem] bg-[rgba(50,50,50,0.1)];}
</style>

View File

@@ -0,0 +1,110 @@
---
import HeaderLogin from "#components/design/header/HeaderLogin.svelte";
const { tabHover1 } = Astro.props;
const { tabHover2 } = Astro.props;
const { tabHover3 } = Astro.props;
const { tabHover4 } = Astro.props;
const { tabHover5 } = Astro.props;
const { tabHover6 } = Astro.props;
const { tabHover7 } = Astro.props;
const { params, url } = Astro;
const partner = params.partner;
const url1 = new URL(Astro.request.url);
// Beispiel: prüfen, ob "immowelt" im Pfad vorkommt
const urlPath = url1.pathname; // z.B. "/immowelt/angebot-anfragen/..."
const isVA = urlPath.includes("verbrauchsausweis-wohngebaeude");
const isVAG = urlPath.includes("verbrauchsausweis-gewerbe");
const isBA = urlPath.includes("bedarfsausweis-wohngebaeude");
const isBAG = urlPath.includes("bedarfsausweis-gewerbe-anfragen");
const isGGW = urlPath.includes("geg-nachweis-wohnen-anfragen");
const isGGG = urlPath.includes("geg-nachweis-gewerbe-anfragen");
const isWEA = urlPath.includes("welcher-ausweis");
---
<header id="header" class="w-full bg-white h-[81px] sm:pl-8">
<div class="grid grid-cols-[min-content_1fr] items-center">
<div class="w-[150px] h-[80px]">
<div class="w-full h-full grid grid-col-1 justify-items-center items-center">
<img class="w-[109px]" src={`/images/partner/${partner}/${partner}.svg`} alt={partner} />
</div>
</div>
<div>
<ul class="navlist">
<li><a href={`/${partner}/energieausweis-erstellen/verbrauchsausweis-wohngebaeude/`}><button class={tabHover1}>Verbrauchsausweis</button></a></li>
<li><a href={`/${partner}/energieausweis-erstellen/verbrauchsausweis-gewerbe/`}><button class={tabHover2}>Verbrauchsausweis Gewerbe</button></a></li>
<li><a href={`/${partner}/energieausweis-erstellen/bedarfsausweis-wohngebaeude/`}><button class={tabHover3}>Bedarfsausweis</button></a></li>
<li><a href={`/${partner}/angebot-anfragen/bedarfsausweis-gewerbe-anfragen/`}><button class={tabHover4}>Bedarfsausweis Gewerbe</button></a></li>
<li><a href={`/${partner}/angebot-anfragen/geg-nachweis-wohnen-anfragen/`}><button class={tabHover5}>GEG Nachweis Wohngebäude</button></a></li>
<li><a href={`/${partner}/angebot-anfragen/geg-nachweis-gewerbe-anfragen/`}><button class={tabHover6}>GEG Nachweis Gewerbe</button></a></li>
<li><a href={`/${partner}/welcher-ausweis/`}><button class={tabHover7}>Welcher Ausweis</button></a></li>
</ul>
</div>
</div>
</header>
<div id="titel" class="block w-full 2xl:h-[270px] lg:h-[148px] bg-cover px-12 py-8"
style={`background-image: url('/images/partner/${partner}/hero-energieausweis.jpg');
background-repeat:no-repeat; background-position:right;`}>
{isVA ? <div>Hier komfortabel und einfach online den Verbrauchsausweis Wohngebäude bestellen</div> : ""}
{isVAG ? <div>Hier komfortabel und einfach online den Verbrauchsausweis Gewerbe bestellen</div> : ""}
{isBA ? <div>Hier komfortabel und einfach online den Bedarfsausweis Wohngebäude bestellen</div> : ""}
{isBAG ? <div>Hier komfortabel und einfach online den Bedarfsausweis Gewerbe bestellen</div> : ""}
{isGGW ? <div>Hier komfortabel und einfach online den GEG Nachweis Wohngebäude bestellen</div> : ""}
{isGGG ? <div>Hier komfortabel und einfach online den GEG Nachweis Gewerbe bestellen</div> : ""}
{isWEA ? <div>Hier komfortabel und einfach online den richtigen Ausweis finden</div> : ""}
</div>
<style lang="postcss">
@font-face {
font-family: "immo Sans";
src: url('/fonts/Immo-Sans/immoSans-Regular.eot');
src: url('/fonts/Immo-Sans/immoSans-Regular.eot?#iefix') format('embedded-opentype'),
url('/fonts/Immo-Sans/immoSans-Regular.woff2') format('woff2'),
url('/fonts/Immo-Sans/immoSans-Regular.woff') format('woff');
font-style: normal;
font-weight: 400;
}
#titel{
font-family: "immo Sans";
font-weight:400;
}
.header-button {
@apply px-4 py-2 text-primary-content font-medium text-lg tracking-normal hover:bg-secondary h-full;
}
.navlist {
@apply flex flex-wrap flex-col sm:flex-row pl-[1.75rem] sm:pl-[1.75rem];
}
.navlist li {
@apply pr-0 sm:pr-[6px] pb-1 sm:pb-0;
}
.navlist li button{@apply text-[0.75rem] md:text-[1rem] text-[#646464] sm:p-2 text-left
hover:rounded-[1rem] hover:bg-[rgba(50,50,50,0.1)];
font-family: "immo Sans";
font-weight:400;}
.glow{@apply rounded-[1rem] bg-[rgba(50,50,50,0.1)];}
</style>

View File

@@ -29,14 +29,16 @@ const { title } = Astro.props;
enabled: true, enabled: true,
recordHeadersAndBody: true recordHeadersAndBody: true
} }
}) });
} }
window.addEventListener("scroll", (event) => { window.addEventListener("scroll", () => {
const skala = document.getElementById("skala"); const skala = document.getElementById("skala");
if (skala?.classList.contains("no-scroll")) { if (!skala) return;
if (skala) {
// Wenn skala "no-scroll" hat, alles zurücksetzen
if (skala.classList.contains("no-scroll")) {
skala.classList.remove( skala.classList.remove(
"2xl:fixed", "2xl:fixed",
"2xl:py-4", "2xl:py-4",
@@ -45,17 +47,18 @@ const { title } = Astro.props;
); );
skala.classList.add("w-full"); skala.classList.add("w-full");
skala.style.borderBottom = "none"; skala.style.borderBottom = "none";
} skala.style.width = ""; // zurücksetzen
document document.getElementById("formInput-1")?.classList.remove("2xl:mt-[370px]");
.getElementById("formInput-1")
?.classList.remove("2xl:mt-[370px]");
return; return;
} }
let scroll = window.scrollY; let scroll = window.scrollY;
if (scroll >= 400) { if (scroll >= 400) {
if (skala) { // Breite einmal auslesen und festsetzen
const skalaWidth = skala.offsetWidth + "px";
skala.style.width = skalaWidth;
skala.classList.add( skala.classList.add(
"2xl:fixed", "2xl:fixed",
"2xl:py-4", "2xl:py-4",
@@ -64,24 +67,9 @@ const { title } = Astro.props;
); );
skala.classList.remove("w-full"); skala.classList.remove("w-full");
skala.style.borderBottom = "3px solid #e6e6e6"; skala.style.borderBottom = "3px solid #e6e6e6";
}
const performanceBox = document.getElementById("formInput-1")?.classList.add("2xl:mt-[370px]");
document.getElementById("performance-box");
if (performanceBox) {
performanceBox.style.maxWidth = "688.5px";
}
const progressBox = document.getElementById("progress-box");
if (progressBox) {
progressBox.style.maxWidth = "688.5px";
}
document
.getElementById("formInput-1")
?.classList.add("2xl:mt-[370px]");
} else { } else {
if (skala) {
skala.classList.remove( skala.classList.remove(
"2xl:fixed", "2xl:fixed",
"2xl:py-4", "2xl:py-4",
@@ -90,15 +78,28 @@ const { title } = Astro.props;
); );
skala.classList.add("w-full"); skala.classList.add("w-full");
skala.style.borderBottom = "none"; skala.style.borderBottom = "none";
} skala.style.width = ""; // zurücksetzen
document document.getElementById("formInput-1")?.classList.remove("2xl:mt-[370px]");
.getElementById("formInput-1")
?.classList.remove("2xl:mt-[370px]");
} }
}); });
window.addEventListener("resize", () => {
const skala = document.getElementById("skala");
if (!skala) return;
// Nur aktualisieren, wenn gerade "fixed" ist
if (skala.classList.contains("2xl:fixed")) {
// Temporär zurücksetzen, um echte Breite zu bekommen
skala.style.width = "";
const skalaWidth = skala.offsetWidth + "px";
skala.style.width = skalaWidth;
}
});
</script> </script>
<html lang="de"> <html lang="de">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />

View File

@@ -2,7 +2,7 @@
import "../style/global.css"; import "../style/global.css";
import "../style/formular.css"; import "../style/formular.css";
import "../../svelte-dialogs.config" import "../../svelte-dialogs.config"
import Header from "#components/design/header/AusweisHeader_immowelt.astro"; import Header from "#components/design/header/AusweisHeader_partner.astro";
import Footer from "#components/design/footer/Footer.astro"; import Footer from "#components/design/footer/Footer.astro";
import SidebarLeft from "#components/design/sidebars/SidebarLeft.astro"; import SidebarLeft from "#components/design/sidebars/SidebarLeft.astro";
import { NotificationWrapper } from "@ibcornelsen/ui"; import { NotificationWrapper } from "@ibcornelsen/ui";
@@ -15,8 +15,11 @@ export interface Props {
tabHover4: string; tabHover4: string;
tabHover5: string; tabHover5: string;
tabHover6: string; tabHover6: string;
tabHover7: string;
} }
const { title } = Astro.props; const { title } = Astro.props;
const { tabHover1 } = Astro.props; const { tabHover1 } = Astro.props;
const { tabHover2 } = Astro.props; const { tabHover2 } = Astro.props;
@@ -24,25 +27,75 @@ const { tabHover3 } = Astro.props;
const { tabHover4 } = Astro.props; const { tabHover4 } = Astro.props;
const { tabHover5 } = Astro.props; const { tabHover5 } = Astro.props;
const { tabHover6 } = Astro.props; const { tabHover6 } = Astro.props;
const { tabHover7 } = Astro.props;
--- ---
<script> <script>
window.addEventListener("scroll", (event) => {
window.addEventListener("scroll", () => {
const skala = document.getElementById("skala");
if (!skala) return;
// Wenn skala "no-scroll" hat, alles zurücksetzen
if (skala.classList.contains("no-scroll")) {
skala.classList.remove(
"2xl:fixed",
"2xl:py-4",
"2xl:top-0",
"2xl:z-20"
);
skala.classList.add("w-full");
skala.style.borderBottom = "none";
skala.style.width = ""; // zurücksetzen
document.getElementById("formInput-1")?.classList.remove("2xl:mt-[370px]");
return;
}
let scroll = window.scrollY; let scroll = window.scrollY;
if (scroll >= 400) {
// Breite einmal auslesen und festsetzen
const skalaWidth = skala.offsetWidth + "px";
skala.style.width = skalaWidth;
skala.classList.add(
"2xl:fixed",
"2xl:py-4",
"2xl:top-0",
"2xl:z-20"
);
skala.classList.remove("w-full");
skala.style.borderBottom = "3px solid #e6e6e6";
// if(scroll>=400){ document.getElementById("formInput-1")?.classList.add("2xl:mt-[370px]");
// } else {
// document.getElementById('skala')?.classList.add('2xl:w-[calc(100%-6rem)]', '2xl:fixed','2xl:py-4','2xl:top-0','2xl:z-20' ,'2xl:[box-shadow:0_2px_12px_#ccc;]'); skala.classList.remove(
// document.getElementById('formInput-1')?.classList.add('2xl:mt-[270px]'); "2xl:fixed",
// }else{ "2xl:py-4",
// "2xl:top-0",
// document.getElementById('skala')?.classList.remove('2xl:w-[calc(100%-6rem)]','2xl:fixed','2xl:py-4','2xl:top-0','2xl:z-20','2xl:[box-shadow:0_0_20px_#000;]'); "2xl:z-20"
// document.getElementById('formInput-1')?.classList.remove('2xl:mt-[270px]'); );
// } skala.classList.add("w-full");
skala.style.borderBottom = "none";
skala.style.width = ""; // zurücksetzen
document.getElementById("formInput-1")?.classList.remove("2xl:mt-[370px]");
}
});
window.addEventListener("resize", () => {
const skala = document.getElementById("skala");
if (!skala) return;
// Nur aktualisieren, wenn gerade "fixed" ist
if (skala.classList.contains("2xl:fixed")) {
// Temporär zurücksetzen, um echte Breite zu bekommen
skala.style.width = "";
const skalaWidth = skala.offsetWidth + "px";
skala.style.width = skalaWidth;
}
}); });
</script> </script>
<!DOCTYPE html> <!DOCTYPE html>
@@ -91,13 +144,13 @@ window.addEventListener("scroll", (event) => {
<body> <body>
<Header {tabHover1} {tabHover2} {tabHover3} {tabHover4} {tabHover5} {tabHover6}/> <Header {tabHover1} {tabHover2} {tabHover3} {tabHover4} {tabHover5} {tabHover6} {tabHover7}/>
<main class="w-full p-0 grid grid-cols-1"> <main class="w-full p-0 grid grid-cols-1 rounded-none">
<!--<SidebarLeft />--> <!--<SidebarLeft />-->
<article class="p-0 lg:p-2"> <article class="p-0 lg:px-20 lg:py-12">
<slot /> <slot />
</article> </article>

View File

@@ -23,6 +23,7 @@
export let user: BenutzerClient = {} as BenutzerClient; export let user: BenutzerClient = {} as BenutzerClient;
export let bilder: BildClient[] = []; export let bilder: BildClient[] = [];
export let plaene: UnterlageClient[] = []; export let plaene: UnterlageClient[] = [];
export let nachweistyp: Enums.AusweisTyp = Enums.AusweisTyp.Standard;
export let unterlagen: UnterlageClient[] = []; export let unterlagen: UnterlageClient[] = [];
if (Object.keys(nachweis).length === 0) { if (Object.keys(nachweis).length === 0) {
@@ -110,6 +111,7 @@
{ausweisart} {ausweisart}
{anliegen} {anliegen}
steps={["Gebäudedaten", "Kundendaten", "Anfragebestätigung"]} steps={["Gebäudedaten", "Kundendaten", "Anfragebestätigung"]}
ausweistyp={nachweistyp}
/> />
</div> </div>

View File

@@ -0,0 +1,88 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.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";
import { getAufnahme, getBedarfsausweisGewerbe, getBilder, getObjekt, getUnterlagen, getVerbrauchsausweisWohnen } from "#lib/server/db";
import { getCurrentUser } from "#lib/server/user";
import BedarfsausweisGewerbeModule from "#modules/angebot-anfragen/BedarfsausweisGewerbeModule.svelte";
const id = Astro.url.searchParams.get("id");
const aufnahme_id = Astro.url.searchParams.get("aufnahme")
let ausweistyp = Astro.url.searchParams.get("ausweistyp") as Enums.AusweisTyp || Enums.AusweisTyp.Standard;
let nachweis: BedarfsausweisGewerbe = {} as BedarfsausweisGewerbe;
let aufnahme: Aufnahme = {} as Aufnahme;
let objekt: Objekt = {} as Objekt;
let bilder: Bild[] = []
let unterlagen: Unterlage[] = []
const user = await getCurrentUser(Astro)
if (id) {
if (!user) {
return Astro.redirect(
`/auth/login?redirect=${Astro.url.toString()}`
);
}
nachweis = await getBedarfsausweisGewerbe(id) as BedarfsausweisGewerbe
if (!nachweis || nachweis.benutzer_id !== user.id) {
// Der Ausweis scheint nicht zu existieren.
// Wir leiten auf die generische Ausweisseite ohne ID weiter.
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
);
}
aufnahme = await getAufnahme(nachweis.aufnahme_id) as Aufnahme
if (!aufnahme) {
// Die Aufnahme existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren.
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
);
}
objekt = await getObjekt(aufnahme.objekt_id) as Objekt
if (!objekt) {
// Das Objekt existiert nicht, das sollte eigentlich nicht passieren aber so können wir nicht fortfahren.
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
);
}
bilder = await getBilder(aufnahme.id);
unterlagen = await getUnterlagen(aufnahme.id);
} else if (aufnahme_id) {
if (!user) {
return Astro.redirect(
`/auth/login?redirect=${Astro.url.toString()}`
);
}
aufnahme = await getAufnahme(nachweis.aufnahme_id) as Aufnahme
if (!aufnahme) {
// Die Aufnahme existiert wohl nicht.
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
);
}
objekt = await getObjekt(aufnahme.objekt_id) as Objekt
if (!objekt) {
// Das Objekt existiert nicht.
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
);
}
}
---
<AusweisLayout title="Bedarfsausweis Gewerbe anfragen">
<BedarfsausweisGewerbeModule client:only {nachweis} {objekt} {aufnahme} {bilder} {unterlagen} {id} {ausweistyp} />
</AusweisLayout>

View File

@@ -0,0 +1,13 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import ProduktUebersichtBedarfsausweisGewerbe from "#components/design/content/ProduktUebersichtBedarfsausweisGewerbe.svelte";
---
<AusweisLayout title="Bedarfsausweis Gewerbe Produktübersicht">
<ProduktUebersichtBedarfsausweisGewerbe>
</ProduktUebersichtBedarfsausweisGewerbe>
</AusweisLayout>

View File

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

View File

@@ -0,0 +1,13 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import ProduktUebersichtGEGNachweisGewerbe from "#components/design/content/ProduktUebersichtGEGNachweisGewerbe.svelte";
---
<AusweisLayout title="GEG Nachweis Gewerbe Produktübersicht">
<ProduktUebersichtGEGNachweisGewerbe>
</ProduktUebersichtGEGNachweisGewerbe>
</AusweisLayout>

View File

@@ -1,12 +1,15 @@
--- ---
import AusweisLayout from "#layouts/AusweisLayoutDaten_immowelt.astro"; import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types"; import { AufnahmeClient, GEGNachweisWohnenClient, ObjektClient, UnterlageClient, UploadedGebaeudeBild } from "#components/Ausweis/types";
import { createCaller } from "src/astro-typesafe-api-caller"; import { createCaller } from "src/astro-typesafe-api-caller";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants.js";
import { validateAccessTokenServer } from "#server/lib/validateAccessToken.js"; import { validateAccessTokenServer } from "#server/lib/validateAccessToken.js";
import GEGNachweisWohnenModule from "#modules/angebot-anfragen/GEGNachweisWohnenModule.svelte"; import GEGNachweisWohnenModule from "#modules/angebot-anfragen/GEGNachweisWohnenModule.svelte";
import { Enums } from "#lib/server/prisma";
const uid = Astro.url.searchParams.get("uid"); const uid = Astro.url.searchParams.get("uid");
const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard;
let nachweis: GEGNachweisWohnenClient = {} as GEGNachweisWohnenClient; let nachweis: GEGNachweisWohnenClient = {} as GEGNachweisWohnenClient;
let aufnahme: AufnahmeClient = {} as AufnahmeClient; let aufnahme: AufnahmeClient = {} as AufnahmeClient;
let objekt: ObjektClient = {} as ObjektClient; let objekt: ObjektClient = {} as ObjektClient;
@@ -86,5 +89,5 @@ if (uid) {
--- ---
<AusweisLayout title="GEG Nachweis Wohnen anfragen" tabHover5="glow"> <AusweisLayout title="GEG Nachweis Wohnen anfragen" tabHover5="glow">
<GEGNachweisWohnenModule client:only {nachweis} {objekt} {aufnahme} {bilder} {unterlagen} /> <GEGNachweisWohnenModule client:only {nachweis} {objekt} {aufnahme} {bilder} {ausweistyp} {unterlagen} />
</AusweisLayout> </AusweisLayout>

View File

@@ -0,0 +1,13 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import ProduktUebersichtGEGNachweisWohnen from "#components/design/content/ProduktUebersichtGEGNachweisWohnen.svelte";
---
<AusweisLayout title="GEG Nachweis Wohnen Produktübersicht">
<ProduktUebersichtGEGNachweisWohnen>
</ProduktUebersichtGEGNachweisWohnen>
</AusweisLayout>

View File

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

View File

@@ -0,0 +1,13 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import ProduktUebersichtBedarfsausweisWohnen from "#components/design/content/ProduktUebersichtBedarfsausweisWohnen.svelte";
---
<AusweisLayout title="Bedarfsausweis Wohngebäude Produktübersicht">
<div class="mx-auto my-8" style="width:85%">
<ProduktUebersichtBedarfsausweisWohnen ref="/immowelt"></ProduktUebersichtBedarfsausweisWohnen>
</div>
</AusweisLayout>

View File

@@ -1,13 +1,16 @@
--- ---
import AusweisLayout from "#layouts/AusweisLayoutDaten_immowelt.astro"; import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types"; import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient } from "#components/Ausweis/types";
import { createCaller } from "src/astro-typesafe-api-caller"; import { createCaller } from "src/astro-typesafe-api-caller";
import { inferOutput } from "astro-typesafe-api/client"; import { inferOutput } from "astro-typesafe-api/client";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants"; import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants";
import { validateAccessTokenServer } from "#server/lib/validateAccessToken"; import { validateAccessTokenServer } from "#server/lib/validateAccessToken";
import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte"; import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte";
import { Enums } from "#lib/server/prisma";
const uid = Astro.url.searchParams.get("uid"); const uid = Astro.url.searchParams.get("uid");
const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard;
let ausweis: VerbrauchsausweisGewerbeClient = {} as VerbrauchsausweisGewerbeClient; let ausweis: VerbrauchsausweisGewerbeClient = {} as VerbrauchsausweisGewerbeClient;
let aufnahme: AufnahmeClient = {} as AufnahmeClient; let aufnahme: AufnahmeClient = {} as AufnahmeClient;
let objekt: ObjektClient = {} as ObjektClient; let objekt: ObjektClient = {} as ObjektClient;
@@ -79,5 +82,5 @@ if (uid) {
--- ---
<AusweisLayout title="Verbrauchsausweis Gewerbe erstellen | IBCornelsen" tabHover2="glow"> <AusweisLayout title="Verbrauchsausweis Gewerbe erstellen | IBCornelsen" tabHover2="glow">
<VerbrauchsausweisGewerbeModule client:only {ausweis} {objekt} {aufnahme} {bilder} /> <VerbrauchsausweisGewerbeModule client:only {ausweis} {objekt} {aufnahme} {bilder} {ausweistyp}/>
</AusweisLayout> </AusweisLayout>

View File

@@ -0,0 +1,14 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import ProduktUebersichtVerbrauchsausweisGewerbe from "#components/design/content/ProduktUebersichtVerbrauchsausweisGewerbe.svelte";
---
<AusweisLayout title="Verbrauchsausweis Gewerbe Produktübersicht">
<div class="mx-auto my-8" style="width:85%">
<ProduktUebersichtVerbrauchsausweisGewerbe ref="/immowelt">
</ProduktUebersichtVerbrauchsausweisGewerbe>
</div>
</AusweisLayout>

View File

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

View File

@@ -0,0 +1,13 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.astro";
import ProduktUebersichtVerbrauchsausweisWohnen from "#components/design/content/ProduktUebersichtVerbrauchsausweisWohnen.svelte";
---
<AusweisLayout title="Verbrauchsausweis Wohngebäude Produktübersicht">
<div class="mx-auto my-8" style="width:85%">
<ProduktUebersichtVerbrauchsausweisWohnen ref="/immowelt">
</ProduktUebersichtVerbrauchsausweisWohnen>
</div>
</AusweisLayout>

View File

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

View File

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

View File

@@ -0,0 +1,90 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.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";
import { validateAccessTokenServer } from "#server/lib/validateAccessToken.js";
import GEGNachweisGewerbeModule from "#modules/angebot-anfragen/GEGNachweisGewerbeModule.svelte";
const uid = Astro.url.searchParams.get("uid");
let nachweis: GEGNachweisWohnenClient = {} as GEGNachweisWohnenClient;
let aufnahme: AufnahmeClient = {} as AufnahmeClient;
let objekt: ObjektClient = {} as ObjektClient;
let bilder: UploadedGebaeudeBild[] = []
let unterlagen: UnterlageClient[] = []
const valid = validateAccessTokenServer(Astro);
const caller = createCaller(Astro);
if (uid) {
if (!valid) {
return Astro.redirect(
`/auth/login?redirect=${Astro.url.toString()}`
);
}
try {
nachweis = await caller["geg-nachweis-wohnen"]._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid
}
});
aufnahme = await caller.aufnahme._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: nachweis.uid_aufnahme
}
})
objekt = await caller.objekt._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: nachweis.uid_objekt
}
})
bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: nachweis.uid_aufnahme
}
})
unterlagen = await caller.aufnahme._uid.unterlagen.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: nachweis.uid_aufnahme
}
})
if (!nachweis) {
// Der Ausweis scheint nicht zu existieren.
// Wir leiten auf die generische Ausweisseite ohne UID weiter.
return Astro.redirect(
"/angebot-anfragen/geg-nachweis-wohnen-anfragen"
);
}
} catch(e) {
return Astro.redirect(
"/angebot-anfragen/geg-nachweis-wohnen-anfragen"
);
}
}
---
<AusweisLayout title="GEG Nachweis Wohnen anfragen" tabHover6="glow">
<GEGNachweisGewerbeModule client:only {nachweis} {objekt} {aufnahme} {bilder} {unterlagen} />
</AusweisLayout>

View File

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

View File

@@ -0,0 +1,93 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.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";
import { validateAccessTokenServer } from "#server/lib/validateAccessToken.js";
import GEGNachweisWohnenModule from "#modules/angebot-anfragen/GEGNachweisWohnenModule.svelte";
import { Enums } from "#lib/server/prisma";
const uid = Astro.url.searchParams.get("uid");
const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard;
let nachweis: GEGNachweisWohnenClient = {} as GEGNachweisWohnenClient;
let aufnahme: AufnahmeClient = {} as AufnahmeClient;
let objekt: ObjektClient = {} as ObjektClient;
let bilder: UploadedGebaeudeBild[] = []
let unterlagen: UnterlageClient[] = []
const valid = validateAccessTokenServer(Astro);
const caller = createCaller(Astro);
if (uid) {
if (!valid) {
return Astro.redirect(
`/auth/login?redirect=${Astro.url.toString()}`
);
}
try {
nachweis = await caller["geg-nachweis-wohnen"]._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid
}
});
aufnahme = await caller.aufnahme._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: nachweis.uid_aufnahme
}
})
objekt = await caller.objekt._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: nachweis.uid_objekt
}
})
bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: nachweis.uid_aufnahme
}
})
unterlagen = await caller.aufnahme._uid.unterlagen.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: nachweis.uid_aufnahme
}
})
if (!nachweis) {
// Der Ausweis scheint nicht zu existieren.
// Wir leiten auf die generische Ausweisseite ohne UID weiter.
return Astro.redirect(
"/angebot-anfragen/geg-nachweis-wohnen-anfragen"
);
}
} catch(e) {
return Astro.redirect(
"/angebot-anfragen/geg-nachweis-wohnen-anfragen"
);
}
}
---
<AusweisLayout title="GEG Nachweis Wohnen anfragen" tabHover5="glow">
<GEGNachweisWohnenModule client:only {nachweis} {objekt} {aufnahme} {bilder} {ausweistyp} {unterlagen} />
</AusweisLayout>

View File

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

View File

@@ -0,0 +1,81 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.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";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants";
import { validateAccessTokenServer } from "#server/lib/validateAccessToken";
const uid = Astro.url.searchParams.get("uid");
let ausweis: VerbrauchsausweisWohnenClient = {} as VerbrauchsausweisWohnenClient;
let aufnahme: AufnahmeClient = {} as AufnahmeClient;
let objekt: ObjektClient = {} as ObjektClient;
let bilder: UploadedGebaeudeBild[] = []
const valid = validateAccessTokenServer(Astro);
const caller = createCaller(Astro);
if (uid) {
if (!valid) {
return Astro.redirect(
`/auth/login?redirect=${Astro.url.toString()}`
);
}
try {
ausweis = await caller["bedarfsausweis-wohnen"]._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid
}
});
aufnahme = await caller.aufnahme._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: ausweis.uid_aufnahme
}
})
objekt = await caller.objekt._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: ausweis.uid_objekt
}
})
bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: ausweis.uid_aufnahme
}
})
if (!ausweis) {
// Der Ausweis scheint nicht zu existieren.
// Wir leiten auf die generische Ausweisseite ohne UID weiter.
return Astro.redirect(
"/energieausweis-erstellen/bedarfsausweis-wohnen"
);
}
} catch(e) {
return Astro.redirect(
"/energieausweis-erstellen/bedarfsausweis-wohnen"
);
}
}
---
<AusweisLayout title="Bedarfsausweis erstellen | IBCornelsen" tabHover3="glow">
<BedarfsausweisWohnenModule client:load {ausweis} {objekt} {aufnahme} {bilder}></BedarfsausweisWohnenModule>
</AusweisLayout>

View File

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

View File

@@ -0,0 +1,86 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.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";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants";
import { validateAccessTokenServer } from "#server/lib/validateAccessToken";
import VerbrauchsausweisGewerbeModule from "#modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte";
import { Enums } from "#lib/server/prisma";
const uid = Astro.url.searchParams.get("uid");
const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard;
let ausweis: VerbrauchsausweisGewerbeClient = {} as VerbrauchsausweisGewerbeClient;
let aufnahme: AufnahmeClient = {} as AufnahmeClient;
let objekt: ObjektClient = {} as ObjektClient;
let bilder: UploadedGebaeudeBild[] = []
const valid = validateAccessTokenServer(Astro);
const caller = createCaller(Astro);
if (uid) {
if (!valid) {
return Astro.redirect(
`/auth/login?redirect=${Astro.url.toString()}`
);
}
try {
let { uid_aufnahme, uid_objekt, uid_benutzer, ...result } = await caller["verbrauchsausweis-gewerbe"]._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid
}
});
ausweis = result
aufnahme = await caller.aufnahme._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: uid_aufnahme
}
})
objekt = await caller.objekt._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: uid_objekt
}
})
bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: uid_aufnahme
}
})
if (!ausweis) {
// Der Ausweis scheint nicht zu existieren.
// Wir leiten auf die generische Ausweisseite ohne UID weiter.
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-gewerbe"
);
}
} catch(e) {
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-gewerbe"
);
}
}
---
<AusweisLayout title="Verbrauchsausweis Gewerbe erstellen | IBCornelsen" tabHover2="glow">
<VerbrauchsausweisGewerbeModule client:only {ausweis} {objekt} {aufnahme} {bilder} {ausweistyp}/>
</AusweisLayout>

View File

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

View File

@@ -0,0 +1,85 @@
---
import AusweisLayout from "#layouts/AusweisLayoutDaten_partner.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";
import { API_ACCESS_TOKEN_COOKIE_NAME } from "#lib/constants";
import { validateAccessTokenServer } from "#server/lib/validateAccessToken";
import { Enums } from "#lib/server/prisma";
const uid = Astro.url.searchParams.get("uid");
const ausweistyp = Astro.url.searchParams.get("ausweistyp") || Enums.AusweisTyp.Standard;
let ausweis: VerbrauchsausweisWohnenClient = {} as VerbrauchsausweisWohnenClient;
let aufnahme: AufnahmeClient = {} as AufnahmeClient;
let objekt: ObjektClient = {} as ObjektClient;
let bilder: UploadedGebaeudeBild[] = []
const valid = validateAccessTokenServer(Astro);
const caller = createCaller(Astro);
if (uid) {
if (!valid) {
return Astro.redirect(
`/auth/login?redirect=${Astro.url.toString()}`
);
}
try {
ausweis = await caller["verbrauchsausweis-wohnen"]._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid
}
});
aufnahme = await caller.aufnahme._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: ausweis.uid_aufnahme
}
})
objekt = await caller.objekt._uid.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: ausweis.uid_objekt
}
})
bilder = await caller.aufnahme._uid.bilder.GET.fetch(null, {
headers: {
authorization: `Bearer ${Astro.cookies.get(API_ACCESS_TOKEN_COOKIE_NAME)?.value}`
},
params: {
uid: ausweis.uid_aufnahme
}
})
if (!ausweis) {
// Der Ausweis scheint nicht zu existieren.
// Wir leiten auf die generische Ausweisseite ohne UID weiter.
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
);
}
} catch(e) {
return Astro.redirect(
"/energieausweis-erstellen/verbrauchsausweis-wohngebaeude"
);
}
}
---
<AusweisLayout title="Verbrauchsausweis erstellen" tabHover1="glow">
<VerbrauchsausweisWohnenModule client:only {ausweis} {objekt} {aufnahme} {bilder} {ausweistyp} />
</AusweisLayout>

View File

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