diff --git a/src/app/admin/anfragen/page.tsx b/src/app/admin/anfragen/page.tsx index 724fe70..11b4efb 100644 --- a/src/app/admin/anfragen/page.tsx +++ b/src/app/admin/anfragen/page.tsx @@ -64,7 +64,7 @@ export default async function AdminInquiriesPage(props: PageProps<"/admin/anfrag
-

{inquiry.companyName}

+

{inquiry.companyName}

{statusLabels[inquiry.status] ?? inquiry.status} @@ -91,7 +91,7 @@ export default async function AdminInquiriesPage(props: PageProps<"/admin/anfrag diff --git a/src/app/admin/audit-log/page.tsx b/src/app/admin/audit-log/page.tsx index 5efb3ab..80cfe1c 100644 --- a/src/app/admin/audit-log/page.tsx +++ b/src/app/admin/audit-log/page.tsx @@ -35,7 +35,7 @@ export default async function AdminAuditLogPage() { {formatDateTime(entry.createdAt)} {entry.adminEmail} - {entry.action} + {entry.action} {entry.entityType} {entry.entityId ? #{entry.entityId.slice(-6)} : null} diff --git a/src/app/admin/benutzer/[id]/page.tsx b/src/app/admin/benutzer/[id]/page.tsx index b013fc4..32fa2de 100644 --- a/src/app/admin/benutzer/[id]/page.tsx +++ b/src/app/admin/benutzer/[id]/page.tsx @@ -34,7 +34,7 @@ export default async function AdminBenutzerEditPage(props: PageProps<"/admin/ben return (
-

+

{customer.firstName} {customer.lastName}

{tu.createdOn(formatDate(customer.createdAt))}

@@ -61,7 +61,7 @@ export default async function AdminBenutzerEditPage(props: PageProps<"/admin/ben
-

{tu.securityHeading}

+

{tu.securityHeading}

{tu.twoFactorLabel}
diff --git a/src/app/admin/benutzer/neu/page.tsx b/src/app/admin/benutzer/neu/page.tsx index 2b26a4b..974230e 100644 --- a/src/app/admin/benutzer/neu/page.tsx +++ b/src/app/admin/benutzer/neu/page.tsx @@ -12,7 +12,7 @@ export default async function AdminBenutzerNewPage() { return (
-

{tu.title}

+

{tu.title}

{tu.intro}

{tu.createAndSend}}> diff --git a/src/app/admin/benutzer/page.tsx b/src/app/admin/benutzer/page.tsx index 33b225c..32a9068 100644 --- a/src/app/admin/benutzer/page.tsx +++ b/src/app/admin/benutzer/page.tsx @@ -76,7 +76,7 @@ export default async function AdminBenutzerPage(props: PageProps<"/admin/benutze return ( - + {customer.firstName} {customer.lastName} {isSelf ? {t.adminUsersPage.youSuffix} : null} diff --git a/src/app/admin/bestellungen/[id]/page.tsx b/src/app/admin/bestellungen/[id]/page.tsx index a3cb0ad..3e4e791 100644 --- a/src/app/admin/bestellungen/[id]/page.tsx +++ b/src/app/admin/bestellungen/[id]/page.tsx @@ -52,7 +52,7 @@ export default async function AdminOrderDetailPage(props: PageProps<"/admin/best
-

{order.orderNumber}

+

{order.orderNumber}

{formatDate(order.createdAt)}

@@ -161,7 +161,7 @@ export default async function AdminOrderDetailPage(props: PageProps<"/admin/best ) : dhlConfigured ? (
-
@@ -215,7 +215,7 @@ export default async function AdminOrderDetailPage(props: PageProps<"/admin/best {order.items.map((item) => ( - + {item.productName} {" "} ({item.weightGrams} g) @@ -249,7 +249,7 @@ export default async function AdminOrderDetailPage(props: PageProps<"/admin/best −{formatPrice(order.discountCents, order.currency)}
) : null} -
+
{t.adminOrderDetailPage.totalLabel} {formatPrice(order.totalCents, order.currency)}
@@ -282,7 +282,7 @@ export default async function AdminOrderDetailPage(props: PageProps<"/admin/best {order.invoice.invoiceNumber} {t.adminOrderDetailPage.downloadPdf} diff --git a/src/app/admin/bestellungen/page.tsx b/src/app/admin/bestellungen/page.tsx index c113f7c..3ae8bb7 100644 --- a/src/app/admin/bestellungen/page.tsx +++ b/src/app/admin/bestellungen/page.tsx @@ -112,7 +112,7 @@ export default async function AdminOrdersPage(props: PageProps<"/admin/bestellun {orders.map((order) => ( - + {order.orderNumber} @@ -155,7 +155,7 @@ export default async function AdminOrdersPage(props: PageProps<"/admin/bestellun diff --git a/src/app/admin/bewertungen/page.tsx b/src/app/admin/bewertungen/page.tsx index 57b13e0..15ee4d9 100644 --- a/src/app/admin/bewertungen/page.tsx +++ b/src/app/admin/bewertungen/page.tsx @@ -71,7 +71,7 @@ export default async function AdminBewertungenPage(props: PageProps<"/admin/bewe {reviews.map((review) => ( - + {review.product.name} diff --git a/src/app/admin/chargen/[id]/page.tsx b/src/app/admin/chargen/[id]/page.tsx index c0a0681..ee6703a 100644 --- a/src/app/admin/chargen/[id]/page.tsx +++ b/src/app/admin/chargen/[id]/page.tsx @@ -20,7 +20,7 @@ export default async function AdminBatchEditPage(props: PageProps<"/admin/charge return (
-

{tb.title}

+

{tb.title}

{batch.code} · {batch.harvest.type} {batch.harvest.year}

diff --git a/src/app/admin/chargen/page.tsx b/src/app/admin/chargen/page.tsx index 9098e80..f6b6a04 100644 --- a/src/app/admin/chargen/page.tsx +++ b/src/app/admin/chargen/page.tsx @@ -46,7 +46,7 @@ export default async function AdminBatchesPage() { {batches.map((batch) => ( - {batch.code} + {batch.code} {batch.harvest.type} {batch.harvest.year} @@ -81,7 +81,7 @@ export default async function AdminBatchesPage() {
-

{t.adminBatchesPage.newBatchHeading}

+

{t.adminBatchesPage.newBatchHeading}

-

{th.title}

+

{th.title}

{harvest.isPublished ? null : (
diff --git a/src/app/admin/ernten/page.tsx b/src/app/admin/ernten/page.tsx index 4effb64..983415a 100644 --- a/src/app/admin/ernten/page.tsx +++ b/src/app/admin/ernten/page.tsx @@ -47,7 +47,7 @@ export default async function AdminHarvestsPage() { {harvests.map((harvest) => ( - {harvest.type} + {harvest.type} {harvest.year} {formatDate(harvest.harvestDate)} {harvest.location} @@ -93,7 +93,7 @@ export default async function AdminHarvestsPage() {
-

{t.adminHarvestsPage.newHarvestHeading}

+

{t.adminHarvestsPage.newHarvestHeading}

diff --git a/src/app/admin/error.tsx b/src/app/admin/error.tsx index 54ca008..3fde286 100644 --- a/src/app/admin/error.tsx +++ b/src/app/admin/error.tsx @@ -21,13 +21,13 @@ export default function AdminError({ return (

{t.errorPage.eyebrow}

-

{t.errorPage.title}

+

{t.errorPage.title}

{t.errorPage.description}

- + {t.adminVouchersPage.backToDashboard}
diff --git a/src/app/admin/gutscheine/[id]/page.tsx b/src/app/admin/gutscheine/[id]/page.tsx index 7ebb16b..2033f23 100644 --- a/src/app/admin/gutscheine/[id]/page.tsx +++ b/src/app/admin/gutscheine/[id]/page.tsx @@ -28,7 +28,7 @@ export default async function AdminGutscheinEditPage(props: PageProps<"/admin/gu return (
-

{tv.title}

+

{tv.title}

{tv.redeemedSoFar(code.usedCount, code.maxUses)}

{tv.save}}> diff --git a/src/app/admin/gutscheine/neu/page.tsx b/src/app/admin/gutscheine/neu/page.tsx index 7aaf676..48dc19c 100644 --- a/src/app/admin/gutscheine/neu/page.tsx +++ b/src/app/admin/gutscheine/neu/page.tsx @@ -18,7 +18,7 @@ export default async function AdminGutscheinNewPage() { return (
-

{tv.title}

+

{tv.title}

{tv.create}}> diff --git a/src/app/admin/gutscheine/page.tsx b/src/app/admin/gutscheine/page.tsx index dee312d..7ba8e66 100644 --- a/src/app/admin/gutscheine/page.tsx +++ b/src/app/admin/gutscheine/page.tsx @@ -42,7 +42,7 @@ export default async function AdminGutscheinePage() { {codes.map((code) => ( - {code.code} + {code.code} {code.type === "PERCENT" ? `${code.value} %` : formatPrice(code.value)} diff --git a/src/app/admin/inhalte/page.tsx b/src/app/admin/inhalte/page.tsx index f78f826..bbd4604 100644 --- a/src/app/admin/inhalte/page.tsx +++ b/src/app/admin/inhalte/page.tsx @@ -72,7 +72,7 @@ function FieldEditor({ )} @@ -120,7 +120,7 @@ function FieldEditor({ rows={rows} defaultValue={row?.valueDe ?? ""} placeholder={def.getDefault("de")} - className="mt-1 w-full border border-ink/20 bg-background px-3 py-2 text-sm focus:outline-none focus:border-forest" + className="mt-1 w-full border border-ink/20 bg-background px-3 py-2 text-sm focus:outline-none focus:border-heading" /> ) : ( )} @@ -140,7 +140,7 @@ function FieldEditor({ rows={rows} defaultValue={row?.valueEn ?? ""} placeholder={def.getDefault("en")} - className="mt-1 w-full border border-ink/20 bg-background px-3 py-2 text-sm focus:outline-none focus:border-forest" + className="mt-1 w-full border border-ink/20 bg-background px-3 py-2 text-sm focus:outline-none focus:border-heading" /> ) : ( )} @@ -185,7 +185,7 @@ function GroupForm({ className="mb-10 bg-background border border-ink/10 p-6 space-y-6" > -

{groupHeading}

+

{groupHeading}

{fields.map((def) => ( @@ -216,11 +216,11 @@ export default async function AdminInhaltePage() { return (
-

{t.adminContentPage.title}

+

{t.adminContentPage.title}

{t.adminContentPage.intro}

-

{t.adminContentPage.sectionImages}

+

{t.adminContentPage.sectionImages}

{t.adminContentPage.sectionImagesIntro}

{groups.map((group) => (
-

{t.adminContentPage.sectionText}

+

{t.adminContentPage.sectionText}

{t.adminContentPage.sectionTextIntro}

{groups.map((group) => ( ) { // abgeholte Bestellungen (keine offenen Zahlungen), neue Retouren, // unfreigegebene Bewertungen, neue Firmenanfragen. Reine COUNT-Abfragen. const brand = await getBrandAssets(); + const themeChoice = parseThemeChoice((await cookies()).get(THEME_COOKIE)?.value); const [openOrders, openReturns, pendingReviews, newInquiries] = await Promise.all([ prisma.order.count({ where: { status: { in: ["BEZAHLT", "IN_VORBEREITUNG", "VERSANDBEREIT", "ABHOLBEREIT"] }, archivedAt: null }, @@ -62,6 +65,7 @@ export default async function AdminLayout({ children }: LayoutProps<"/admin">) { ) { {/* Begruessung statt nackter Ueberschrift: der Tag beginnt hier. */}

{todayLine}

-

+

{t.adminDashboardPage.greeting(dayPart, admin?.firstName ?? "")}

@@ -396,23 +396,23 @@ export default async function AdminDashboardPage(props: PageProps<"/admin">) { {/* Was jetzt ansteht — direkt anklickbar. Wartet nichts, gibt es eine kleine Belohnung statt einer leeren Liste. */}
-

{t.adminDashboardPage.toDoHeading}

+

{t.adminDashboardPage.toDoHeading}

{toDo.length > 0 ? (
    {toDo.map((item) => (
  • - + {item.count} {item.label}
    -

    {t.adminDashboardPage.allDoneTitle}

    +

    {t.adminDashboardPage.allDoneTitle}

    {t.adminDashboardPage.allDoneText}

@@ -448,11 +448,11 @@ export default async function AdminDashboardPage(props: PageProps<"/admin">) { key={stat.key} className="group border border-ink/10 bg-background p-5 transition-[border-color,transform] duration-300 hover:-translate-y-0.5 hover:border-honey/50" > - +

{statLabels[stat.key]}

-

{stat.value}

+

{stat.value}

); })} @@ -460,7 +460,7 @@ export default async function AdminDashboardPage(props: PageProps<"/admin">) {
-

{t.adminDashboardPage.topProductsHeading}

+

{t.adminDashboardPage.topProductsHeading}

{topProducts.length === 0 ? (

{t.adminDashboardPage.noSalesYet}

) : ( @@ -469,13 +469,13 @@ export default async function AdminDashboardPage(props: PageProps<"/admin">) {
  • - + {i + 1} {product.name}{" "} {t.adminDashboardPage.unitsSuffix(product.quantity)} - {formatPrice(product.revenueCents)} + {formatPrice(product.revenueCents)}
  • ))} @@ -483,7 +483,7 @@ export default async function AdminDashboardPage(props: PageProps<"/admin">) {
    -

    +

    {t.adminDashboardPage.revenueByCategoryHeading}

    {revenueByCategory.length === 0 ? ( @@ -496,7 +496,7 @@ export default async function AdminDashboardPage(props: PageProps<"/admin">) { {t.common.categories[category as keyof typeof t.common.categories] ?? category} - {formatPrice(totals.revenueCents)} + {formatPrice(totals.revenueCents)}
    {/* Meter: Spur ist eine hellere Stufe desselben Tons. */}
    @@ -514,7 +514,7 @@ export default async function AdminDashboardPage(props: PageProps<"/admin">) {
    -

    +

    {t.adminDashboardPage.revenueTrendHeading(REVENUE_TREND_DAYS)}

    {/* Balken nach dataviz-Skill: duenn, 4px gerundete Kappe an der @@ -553,7 +553,7 @@ export default async function AdminDashboardPage(props: PageProps<"/admin">) {
    -

    {t.adminDashboardPage.topVouchersHeading}

    +

    {t.adminDashboardPage.topVouchersHeading}

    {topDiscountCodes.length === 0 ? (

    {t.adminDashboardPage.noVouchersYet}

    ) : ( @@ -566,7 +566,7 @@ export default async function AdminDashboardPage(props: PageProps<"/admin">) { ({code.type === "PERCENT" ? `${code.value} %` : formatPrice(code.value)}) - + {t.adminDashboardPage.usedCountLabel(code.usedCount, code.maxUses)} diff --git a/src/app/admin/produkte/[id]/page.tsx b/src/app/admin/produkte/[id]/page.tsx index 1518488..90edf50 100644 --- a/src/app/admin/produkte/[id]/page.tsx +++ b/src/app/admin/produkte/[id]/page.tsx @@ -34,7 +34,7 @@ export default async function AdminProductEditPage(props: PageProps<"/admin/prod return (
    -

    {te.title}

    +

    {te.title}

    {t.common.categories[product.category]} {product.harvest && product.batch diff --git a/src/app/admin/produkte/neu/page.tsx b/src/app/admin/produkte/neu/page.tsx index 5f2ec40..6881111 100644 --- a/src/app/admin/produkte/neu/page.tsx +++ b/src/app/admin/produkte/neu/page.tsx @@ -26,7 +26,7 @@ export default async function AdminProductNewPage() { return (

    -

    {tn.title}

    +

    {tn.title}

    -

    {request.order.orderNumber}

    +

    {request.order.orderNumber}

    {request.order.firstName} {request.order.lastName} · {request.order.email}

    @@ -136,7 +136,7 @@ export default async function AdminRetourenPage(props: PageProps<"/admin/retoure ))} -

    {formatPrice(request.order.totalCents, request.order.currency)}

    +

    {formatPrice(request.order.totalCents, request.order.currency)}

    {request.reason}

    diff --git a/src/app/admin/versand/[id]/page.tsx b/src/app/admin/versand/[id]/page.tsx index 7be4f09..7f23980 100644 --- a/src/app/admin/versand/[id]/page.tsx +++ b/src/app/admin/versand/[id]/page.tsx @@ -17,7 +17,7 @@ export default async function AdminVersandEditPage(props: PageProps<"/admin/vers return (
    -

    {ts.title}

    +

    {ts.title}

    {ts.save}}> diff --git a/src/app/admin/versand/neu/page.tsx b/src/app/admin/versand/neu/page.tsx index 9ba9cca..94572ec 100644 --- a/src/app/admin/versand/neu/page.tsx +++ b/src/app/admin/versand/neu/page.tsx @@ -12,7 +12,7 @@ export default async function AdminVersandNewPage() { return (
    -

    {ts.title}

    +

    {ts.title}

    {ts.create}}>
    diff --git a/src/app/admin/versand/page.tsx b/src/app/admin/versand/page.tsx index 0cf5e3f..2d99c31 100644 --- a/src/app/admin/versand/page.tsx +++ b/src/app/admin/versand/page.tsx @@ -35,7 +35,7 @@ export default async function AdminVersandPage() { {tiers.map((tier) => ( - + {tier.maxQuantity === null ? t.adminShippingPage.quantityFrom(tier.minQuantity) : t.adminShippingPage.quantityRange(tier.minQuantity, tier.maxQuantity)} diff --git a/src/app/bestellung-verfolgen/page.tsx b/src/app/bestellung-verfolgen/page.tsx index 5a3e5ba..238e57b 100644 --- a/src/app/bestellung-verfolgen/page.tsx +++ b/src/app/bestellung-verfolgen/page.tsx @@ -62,7 +62,7 @@ export default async function TrackOrderPage(props: PageProps<"/bestellung-verfo defaultValue={typeof orderNumber === "string" ? orderNumber : ""} placeholder={t.trackOrderPage.orderNumberPlaceholder} required - className="mt-1 w-full border border-ink/20 bg-background px-4 py-3 focus:outline-none focus:border-forest" + className="mt-1 w-full border border-ink/20 bg-background px-4 py-3 focus:outline-none focus:border-heading" /> @@ -96,7 +96,7 @@ export default async function TrackOrderPage(props: PageProps<"/bestellung-verfo
    -

    {order.orderNumber}

    +

    {order.orderNumber}

    {formatDate(order.createdAt, locale)}

    @@ -122,7 +122,7 @@ export default async function TrackOrderPage(props: PageProps<"/bestellung-verfo {order.items.map((item) => (
  • {item.quantity} ×{" "} - + {item.productName}
  • @@ -157,7 +157,7 @@ export default async function TrackOrderPage(props: PageProps<"/bestellung-verfo <> {" "} ·{" "} - + {t.shipmentInfo.trackPackage} @@ -181,9 +181,9 @@ export default async function TrackOrderPage(props: PageProps<"/bestellung-verfo />
    -

    {formatPrice(order.totalCents, order.currency, locale)}

    +

    {formatPrice(order.totalCents, order.currency, locale)}

    {order.invoice ? ( - + {t.trackOrderPage.viewInvoice} ) : null} diff --git a/src/app/charge/[code]/page.tsx b/src/app/charge/[code]/page.tsx index 101c32e..4d3d9dc 100644 --- a/src/app/charge/[code]/page.tsx +++ b/src/app/charge/[code]/page.tsx @@ -80,7 +80,7 @@ export default async function BatchPage(props: PageProps<"/charge/[code]">) { {t.chargePage.verifiedBatch}
    -

    +

    {batch.harvest.type} {batch.harvest.year}

    {t.chargePage.provenanceNote(batch.code)}

    @@ -132,7 +132,7 @@ export default async function BatchPage(props: PageProps<"/charge/[code]">) { ) : null}

    {step.label}

    -

    {step.value}

    +

    {step.value}

    ))} diff --git a/src/app/checkout/checkout-form.tsx b/src/app/checkout/checkout-form.tsx index a969dbe..e54e46f 100644 --- a/src/app/checkout/checkout-form.tsx +++ b/src/app/checkout/checkout-form.tsx @@ -378,14 +378,14 @@ export function CheckoutForm({ aria-pressed={selected} className={`group relative flex items-center gap-4 border px-5 py-4 text-left transition-[border-color,background-color,box-shadow] duration-300 ${ selected - ? "border-forest bg-forest/[0.04] text-forest shadow-[0_14px_30px_-22px_rgba(36,53,43,0.6)]" - : "border-ink/15 text-ink/70 hover:border-forest/50" + ? "border-heading bg-forest/[0.04] text-heading shadow-[0_14px_30px_-22px_rgba(36,53,43,0.6)]" + : "border-ink/15 text-ink/70 hover:border-heading/50" }`} >