feat: T6 wave 5 – readiness checks and report, compliance and medicine UI, label UI
- Readiness: all 18 checks (medicine lots, treatment log gaps, labels, harvest withdrawal), medicine subjects masked without veterinary-medicines:read, report PDF (counts only), summary cached 60 s, 409 codes READINESS_*. - Frontend: /compliance page with acknowledge/revoke, dashboard line and nav; veterinary medicine catalogue, lots, movement book with inventory and disposal; label designer check panel, print card with gap list and proof print, food business master data, product legal name. - Service worker: cacheability is path-based (the backend sends no-store on every answer); compliance, medicine, restriction, notice and label check/print paths and restricted document kinds are never cached. - ARCHITECTURE.md §2, §12.10–12.11, Annahmen 86–90. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
b912d29166
commit
b4746a2b17
149 files changed
+11869
-320
No files matched your search
@@ -6,6 +6,10 @@ export interface SiteSettings {
|
||||
websiteUrl: string | null;
|
||||
holderName: string | null;
|
||||
holderAddress: string | null;
|
||||
/** Name on the label: the person who puts the honey on the market. Up to 200 characters. */
|
||||
foodBusinessName: string | null;
|
||||
/** Address on the label. Up to 300 characters. Never on public pages. */
|
||||
foodBusinessAddress: string | null;
|
||||
originCountry: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
@@ -17,5 +21,8 @@ export interface UpdateSiteSettingsInput {
|
||||
websiteUrl?: string;
|
||||
holderName?: string;
|
||||
holderAddress?: string;
|
||||
/** `null` clears the value. */
|
||||
foodBusinessName?: string | null;
|
||||
foodBusinessAddress?: string | null;
|
||||
originCountry?: string;
|
||||
}
|
||||
Reference in new issue
Block a user