// Mirrors the Payload backend's own src/lib/tracking.ts — same carrier // set/labels/URL patterns, kept in sync by hand (two separate // deployments, no shared package). Used to render a clickable tracking // link on /konto/bestellungen/[orderNumber]; the backend's copy builds // the same link for the order-shipped email. export const CARRIER_LABELS: Record = { dhl: "DHL", dpd: "DPD", hermes: "Hermes", ups: "UPS", gls: "GLS", other: "Sonstiger Versanddienstleister", }; const CARRIER_TRACKING_URL: Record string> = { dhl: (n) => `https://www.dhl.de/de/privatkunden/dhl-sendungsverfolgung.html?piececode=${encodeURIComponent(n)}`, dpd: (n) => `https://tracking.dpd.de/status/de_DE/parcel/${encodeURIComponent(n)}`, hermes: (n) => `https://www.myhermes.de/empfangen/sendungsverfolgung/sendungsinformation/#${encodeURIComponent(n)}`, ups: (n) => `https://www.ups.com/track?loc=de_DE&tracknum=${encodeURIComponent(n)}`, gls: (n) => `https://www.gls-pakete.de/sendungsverfolgung?trackingNumber=${encodeURIComponent(n)}`, }; export function buildTrackingUrl(carrier: string | null | undefined, trackingNumber: string | null | undefined): string | null { if (!carrier || !trackingNumber) return null; return CARRIER_TRACKING_URL[carrier]?.(trackingNumber) ?? null; }