Admin AI Tools page: unified design system styling, provider selector with OpenAI turd emoji, free-text model input with exact ID warning

This commit is contained in:
2026-06-02 02:21:11 +00:00
parent 809e0061ca
commit 15e939ad7e
116 changed files with 14991 additions and 5326 deletions
+15
View File
@@ -3,6 +3,21 @@ import { getTraceChain } from "@/actions/route-trace/lots";
import ShareTraceButton from "@/components/route-trace/ShareTraceButton";
import { svcHeaders } from "@/lib/svc-headers";
export async function generateMetadata({ params }: { params: Promise<{ lotNumber: string }> }) {
const { lotNumber } = await params;
return {
title: `Lot ${lotNumber} | Fresh Produce Traceability`,
description: `View the complete traceability record for harvest lot ${lotNumber}. Track fresh produce from field to delivery with full supply chain transparency.`,
keywords: [`lot ${lotNumber}`, "produce traceability", "farm to fork", "harvest lot", "fresh produce", "food safety", "supply chain"],
openGraph: {
title: `Lot ${lotNumber} | Fresh Produce Traceability`,
description: `Complete farm-to-fork traceability record. View harvest details, supply chain events, and delivery information for lot ${lotNumber}.`,
type: "website",
},
};
}
const EVENT_ICONS: Record<string, string> = {
harvested: "🌱",
field_packed: "📦",