Dashboard Verbessert

This commit is contained in:
Moritz Utcke
2024-02-27 00:13:31 +07:00
parent 1a60fbd345
commit 196accdb59
5 changed files with 55 additions and 16 deletions

View File

@@ -55,7 +55,7 @@
{/if} -->
<figure class="lg:w-1/2">
<img
src={(ausweis.gebaeude_aufnahme_allgemein.gebaeude_stammdaten.gebaeude_bilder && ausweis.gebaeude_aufnahme_allgemein.gebaeude_stammdaten.gebaeude_bilder[0]?.url) || "/images/placeholder.jpg"}
src={(ausweis.gebaeude_aufnahme_allgemein.gebaeude_stammdaten.gebaeude_bilder && `/bilder/${ausweis.gebaeude_aufnahme_allgemein.gebaeude_stammdaten.gebaeude_bilder[0]?.uid}.webp`) || "/images/placeholder.jpg"}
class="object-cover w-full h-full"
alt="Gebäudebild"
/>
@@ -137,10 +137,10 @@
</div>
{/await}
<div class="card-actions justify-end mt-8">
<a class="btn btn-primary">Bearbeiten</a>
<button class="btn btn-ghost" title="PDF Herunterladen">
<a class="btn btn-primary" href="/energieausweis-erstellen/verbrauchsausweis-wohnen?uid={ausweis.uid}">Bearbeiten</a>
<a class="btn btn-ghost" title="PDF Herunterladen" target="_blank" href="/pdf/ansichtsausweis?ausweis_uid={ausweis.uid}">
<Download size={22} />
</button>
</a>
</div>
</div>
</div>

View File

@@ -1,8 +1,13 @@
import { VerbrauchsausweisWohnen, Benutzer, GebaeudeStammdaten, Rechnungen } from "@ibcornelsen/database/client";
import { GebaeudeAufnahmeClient } from "#components/Ausweis/types";
import { VerbrauchsausweisWohnen, Benutzer, GebaeudeStammdaten, Rechnungen, GebaeudeBilder } from "@ibcornelsen/database/client";
export type AusweisData = VerbrauchsausweisWohnen & {
benutzer: Benutzer;
gebaeude_stammdaten: GebaeudeStammdaten;
gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient & {
gebaeude_stammdaten: GebaeudeStammdaten & {
gebaeude_bilder: GebaeudeBilder[];
}
}
rechnungen: Rechnungen;
};
@@ -10,14 +15,14 @@ export function convertAusweisData(
inputs: AusweisData
): Record<string, string> {
return {
"gebaeude_stammdaten.adresse": inputs.gebaeude_stammdaten.adresse || "",
"gebaeude_stammdaten.adresse": inputs.gebaeude_aufnahme_allgemein.adresse || "",
"gebaeude_stammdaten.gebaeudetyp":
inputs.gebaeude_stammdaten.gebaeudetyp || "",
inputs.gebaeude_aufnahme_allgemein.gebaeudetyp || "",
"gebaeude_stammdaten.baujahr_gebaeude":
inputs.gebaeude_stammdaten.baujahr_gebaeude.join(", ") || "",
inputs.gebaeude_aufnahme_allgemein.baujahr_gebaeude.join(", ") || "",
"gebaeude_stammdaten.baujahr_heizung":
inputs.gebaeude_stammdaten.baujahr_heizung.join(", ") || "",
"gebaeude_stammdaten.plz": inputs.gebaeude_stammdaten.plz || "",
"gebaeude_stammdaten.ort": inputs.gebaeude_stammdaten.ort || "",
inputs.gebaeude_aufnahme_allgemein.baujahr_heizung.join(", ") || "",
"gebaeude_stammdaten.plz": inputs.gebaeude_aufnahme_allgemein.plz || "",
"gebaeude_stammdaten.ort": inputs.gebaeude_aufnahme_allgemein.ort || "",
};
}

View File

@@ -0,0 +1,26 @@
import { createCaller } from "#lib/caller";
import { APIRoute } from "astro";
export const get: APIRoute = async ({params, cookies}) => {
const { uid } = params;
if (!uid) {
return new Response("No uid provided", { status: 400 });
}
const caller = createCaller({ cookies })
const image = await caller.v1.bilder.getBase64({ uid })
if (!image) {
return new Response("No image found", { status: 404 });
}
const buffer = Buffer.from(image.base64, "base64");
return new Response(buffer, {
headers: {
"Content-Type": "image/webp"
}
});
}

View File

@@ -20,7 +20,7 @@ if (uid) {
include: {
gebaeude_aufnahme_allgemein: {
include: {
GebaeudeStammdaten: {
gebaeude_stammdaten: {
include: {
gebaeude_bilder: true
}
@@ -31,7 +31,7 @@ if (uid) {
})
if (request) {
images = (await Promise.all(request.gebaeude_aufnahme_allgemein.GebaeudeStammdaten.gebaeude_bilder.map(async bild => {
images = (await Promise.all(request.gebaeude_aufnahme_allgemein.gebaeude_stammdaten.gebaeude_bilder.map(async bild => {
try {
const response = await createCaller(Astro).v1.bilder.getBase64({uid: bild.uid});
return {
@@ -45,7 +45,7 @@ if (uid) {
}))).filter(x => x !== null) as UploadedGebaeudeBild[];
let { gebaeude_aufnahme_allgemein: {
GebaeudeStammdaten: { gebaeude_bilder, ...request_gebaeude_stammdaten },
gebaeude_stammdaten: { gebaeude_bilder, ...request_gebaeude_stammdaten },
...request_gebaeude_aufnahme_allgemein
}, ...request_ausweis } = request;

View File

@@ -29,7 +29,15 @@ if (base64) {
uid: uidAusweis,
},
include: {
gebaeude_stammdaten: true,
gebaeude_aufnahme_allgemein: {
include: {
gebaeude_stammdaten: {
include: {
gebaeude_bilder: true
}
},
}
},
},
});
}