From ffb4de7fbaf4dbba17a6a8b1f62f81144f0b50fb Mon Sep 17 00:00:00 2001 From: s4luorth Date: Wed, 30 Sep 2026 10:54:16 +0200 Subject: [PATCH] Textmengencheck: A5 + DIN lang via show_check Neuer fetchCheckFormats() laedt Formate mit show_check=true (Text-Seiten- Formate A4/A5/DIN-lang/A6), unabhaengig von der oeffentlichen Bestellbarkeit. Textmenge nutzt das statt fetchFormats - so erscheinen A5 (hoch/quer) und DIN lang (komplett beschrieben) im Check, Adress-Postkarten bleiben aussen vor. Co-Authored-By: Claude Opus 4.8 --- src/lib/api.ts | 13 +++++++++++++ src/routes/Textmenge.tsx | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/lib/api.ts b/src/lib/api.ts index 664b50e..c76912d 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -268,6 +268,19 @@ export async function fetchFormats(): Promise { return data?.data ?? []; } +/** + * Formate für den Textmengencheck: alle mit show_check=true. Das sind die + * Text-Seiten-Formate (A4, A5, DIN lang, A6) – unabhängig davon, ob sie im + * öffentlichen Konfigurator bestellbar sind. Adress-Postkarten sind ausgenommen. + */ +export async function fetchCheckFormats(): Promise { + const data = await request( + '/items/formats?fields=id,key,name,product&filter[show_check][_eq]=true&limit=-1', + { auth: false }, + ); + return data?.data ?? []; +} + /* ── Preis & Bestellung (Extension skrift-orders) ─────────────────────────── */ export type QuoteLine = { label: string; amount: number; per_unit?: boolean }; diff --git a/src/routes/Textmenge.tsx b/src/routes/Textmenge.tsx index 4c146f0..970720c 100644 --- a/src/routes/Textmenge.tsx +++ b/src/routes/Textmenge.tsx @@ -1,5 +1,5 @@ import { useEffect, useMemo, useState } from 'react'; -import { fetchFormats, fetchSettings, generatePreview } from '../lib/api'; +import { fetchCheckFormats, fetchSettings, generatePreview } from '../lib/api'; import type { Format, PublicSettings, PreviewDoc, PreviewOverflow } from '../lib/api'; /** Schriftarten wie im Konfigurator/manuellen Druck. */ @@ -99,7 +99,7 @@ export default function Textmenge() { const [gross, setGross] = useState(false); useEffect(() => { - fetchFormats() + fetchCheckFormats() .then((f) => { setFormate(f); setFormat(f.find((x) => x.key === 'a4')?.key ?? f[0]?.key ?? 'a4');