-
Verbrauch
+
Verbrauch *
["gebaeude_aufnahme_allgemein"]["gebaeude_stammdaten"]["gebaeude_bilder"][0] & { base64?: string };
+>["gebaeude_aufnahme_allgemein"]["gebaeude_stammdaten"]["gebaeude_bilder"][0] & { base64?: string, update?: boolean };
/**
diff --git a/src/components/Header.astro b/src/components/Header.astro
index 0b93b711..13957a8b 100644
--- a/src/components/Header.astro
+++ b/src/components/Header.astro
@@ -1,5 +1,5 @@
---
-import { validateAccessTokenServer } from "src/server/lib/validateAccessToken";
+import { validateAccessTokenServer } from "#server/lib/validateAccessToken";
import ThemeController from "./ThemeController.svelte";
const valid = await validateAccessTokenServer(Astro)
diff --git a/src/components/ImageGrid.svelte b/src/components/ImageGrid.svelte
index 8589213f..43210ecf 100644
--- a/src/components/ImageGrid.svelte
+++ b/src/components/ImageGrid.svelte
@@ -2,6 +2,7 @@
import UploadImages from "./UploadImages.svelte";
import type { BedarfsausweisWohnen, Enums, VerbrauchsausweisGewerbe } from "@ibcornelsen/database/client";
import { GebaeudeClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "./Ausweis/types";
+ import { RotateCounterClockwise, Trash } from "radix-svelte-icons";
export let images: UploadedGebaeudeBild[] = [];
export let max: number = 4;
@@ -10,8 +11,24 @@
export let gebaeude: GebaeudeClient;
export let kategorie: Enums.BilderKategorie
- console.log(images);
-
+ async function rotateImage(image: UploadedGebaeudeBild): Promise
{
+ return new Promise((resolve, reject) => {
+ let img = new Image();
+ img.src = image.base64 ? image.base64 : `/bilder/${image.uid}.webp`;
+ img.onload = () => {
+ let canvas = document.createElement("canvas");
+ let ctx = canvas.getContext("2d");
+ canvas.width = img.height;
+ canvas.height = img.width;
+ ctx?.translate(img.height / 2, img.width / 2);
+ ctx?.rotate((-90 * Math.PI) / 180);
+ ctx?.drawImage(img, -img.width / 2, -img.height / 2);
+ image.base64 = canvas.toDataURL("image/webp");
+ image.update = true;
+ resolve(image)
+ };
+ })
+ }
@@ -23,20 +40,33 @@

-