Dashboard Verbessert
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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 || "",
|
||||
};
|
||||
}
|
||||
|
||||
26
src/pages/bilder/[uid].webp.ts
Normal file
26
src/pages/bilder/[uid].webp.ts
Normal 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"
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -29,7 +29,15 @@ if (base64) {
|
||||
uid: uidAusweis,
|
||||
},
|
||||
include: {
|
||||
gebaeude_stammdaten: true,
|
||||
gebaeude_aufnahme_allgemein: {
|
||||
include: {
|
||||
gebaeude_stammdaten: {
|
||||
include: {
|
||||
gebaeude_bilder: true
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user