Vollstaendige Next.js/Prisma-E-Commerce-Anwendung fuer eine Imkerei: Shop, Warenkorb, Stripe-Checkout, Kundenkonto mit 2FA, Admin-Bereich (Produkte, Ernten, Chargen, Bestellungen, Gutscheine, admin-editierbare Website-Inhalte), i18n (DE/EN), Rate-Limiting/CSP/Audit-Log-Haertung, PostgreSQL- und MySQL-Unterstuetzung ueber austauschbare Prisma- Treiber-Adapter, Unit-/Komponenten-/E2E-Tests.
65 lines
1.6 KiB
TypeScript
65 lines
1.6 KiB
TypeScript
import { ImageResponse } from "next/og";
|
|
import { siteConfig } from "@/lib/site-config";
|
|
|
|
export const alt = `${siteConfig.name} — ${siteConfig.claim}`;
|
|
export const size = { width: 1200, height: 630 };
|
|
export const contentType = "image/png";
|
|
|
|
/**
|
|
* Markenkonformes Fallback-Social-Preview-Bild fuer alle Seiten, die keine
|
|
* eigene opengraph-image definieren (also praktisch die gesamte Seite —
|
|
* echte Produktfotografie fehlt noch, siehe README). Ohne dieses Bild
|
|
* zeigen geteilte Links auf Social Media/Messengern gar keine Vorschau.
|
|
*/
|
|
export default function Image() {
|
|
return new ImageResponse(
|
|
(
|
|
<div
|
|
style={{
|
|
width: "100%",
|
|
height: "100%",
|
|
display: "flex",
|
|
flexDirection: "column",
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
background: "linear-gradient(135deg, #1a271f 0%, #24352b 55%, #3a4d3f 100%)",
|
|
}}
|
|
>
|
|
<div
|
|
style={{
|
|
display: "flex",
|
|
fontSize: 22,
|
|
letterSpacing: 8,
|
|
color: "#b88a44",
|
|
marginBottom: 28,
|
|
}}
|
|
>
|
|
HONIG AUS DEN WESTLICHEN WÄLDERN
|
|
</div>
|
|
<div
|
|
style={{
|
|
display: "flex",
|
|
fontSize: 108,
|
|
letterSpacing: 14,
|
|
color: "#f4efe5",
|
|
}}
|
|
>
|
|
WABENHAIN
|
|
</div>
|
|
<div
|
|
style={{
|
|
display: "flex",
|
|
fontSize: 28,
|
|
color: "#f4efe5",
|
|
opacity: 0.75,
|
|
marginTop: 32,
|
|
}}
|
|
>
|
|
Altenmünster, Bayern
|
|
</div>
|
|
</div>
|
|
),
|
|
{ ...size }
|
|
);
|
|
}
|