fix: Bug fixed für Rollen
Backend Image / build-and-push (push) Failing after 1m12s
Frontend Image / build-and-push (push) Successful in 1m14s

This commit is contained in:
Nick Szaunig committed 2026-09-01 16:54:42 +02:00
1 parent 8432313fa9
commit 5f4e1a7ba9
9 files changed
+311 -341

No files matched your search

@@ -1,7 +1,78 @@
export type LabelFontFamily = "sans" | "serif" | "mono";
export type LabelTextAlign = "left" | "center" | "right";
export type LabelLineOrientation = "horizontal" | "vertical";
export const PLACEHOLDER_KEYS = [
"batchNumber",
"honeyType",
"lotNumber",
"bottlingDate",
"bestBeforeDate",
"jarSize",
"productName",
] as const;
export type PlaceholderKey = (typeof PLACEHOLDER_KEYS)[number];
export const PLACEHOLDER_LABELS: Record<PlaceholderKey, string> = {
batchNumber: "Chargennummer",
honeyType: "Honigsorte",
lotNumber: "Los-/Chargennummer der Abfüllung",
bottlingDate: "Abfülldatum",
bestBeforeDate: "Mindesthaltbarkeitsdatum (MHD)",
jarSize: "Glasgröße",
productName: "Produktname",
};
interface LabelElementBase {
id: string;
x: number;
y: number;
}
export interface LabelTextElement extends LabelElementBase {
type: "text";
width: number;
height: number;
text: string;
placeholderKey?: PlaceholderKey | null;
fontSize: number;
fontFamily: LabelFontFamily;
bold: boolean;
italic: boolean;
color: string;
align: LabelTextAlign;
}
export interface LabelQrCodeElement extends LabelElementBase {
type: "qrCode";
size: number;
}
export interface LabelImageElement extends LabelElementBase {
type: "image";
width: number;
height: number;
src: string;
}
export interface LabelLineElement extends LabelElementBase {
type: "line";
length: number;
thickness: number;
color: string;
orientation: LabelLineOrientation;
}
export type LabelElement =
| LabelTextElement
| LabelQrCodeElement
| LabelImageElement
| LabelLineElement;
export interface LabelTemplate {
id: string;
name: string;
content: string;
elements: LabelElement[];
widthMm: number;
heightMm: number;
isDefault: boolean;
@@ -12,7 +83,7 @@ export interface LabelTemplate {
export interface CreateLabelTemplateInput {
name: string;
content: string;
elements: LabelElement[];
widthMm?: number;
heightMm?: number;
isDefault?: boolean;
@@ -20,22 +91,8 @@ export interface CreateLabelTemplateInput {
export interface UpdateLabelTemplateInput {
name?: string;
content?: string;
elements?: LabelElement[];
widthMm?: number;
heightMm?: number;
isDefault?: boolean;
}
export const LABEL_PLACEHOLDERS: { key: string; description: string }[] = [
{ key: "batchNumber", description: "Chargennummer der Honigcharge" },
{ key: "honeyType", description: "Honigsorte" },
{ key: "lotNumber", description: "Los-/Chargennummer der Abfüllung" },
{ key: "bottlingDate", description: "Abfülldatum" },
{ key: "bestBeforeDate", description: "Mindesthaltbarkeitsdatum (MHD)" },
{ key: "jarSize", description: "Glasgröße" },
{ key: "productName", description: "Produktname" },
{
key: "qrCode",
description: "QR-Code zur öffentlichen Herkunftsseite der Charge (Honigsorte, Daten, Rückverfolgbarkeit)",
},
];