Fix invisible Stripe pay button, add brand favicon/OG image, navbar 3x3-System CTA, blog hero crop

- PaymentStep: bg-brand-primary was never a real Tailwind class, leaving
  the "Jetzt bezahlen" button unstyled/invisible; switched to bg-brand
  with dark text, matching every other CTA on the site.
- New app/icon.svg + app/apple-icon.png + app/favicon.ico: brand-yellow
  rounded square with a bold italic "e", replacing the Next.js default.
- New public/og-image.png (logo on the site's cream background) wired in
  as the SEO fallback default OG image/description/title in payload.ts.
- Navbar CTA: "Klarheitskompass" -> "Mein 3x3-System", now links to
  /3x3-system (page not built yet).
- Blog overview hero image anchored to the top instead of center-cropped.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Marco
2026-07-29 21:48:22 +00:00
parent 27d383b559
commit fb1bedcacd
8 changed files with 23 additions and 9 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

+1 -1
View File
@@ -43,7 +43,7 @@ export default async function BlogOverviewPage() {
</p>
</div>
<div className="relative w-full sm:absolute sm:inset-y-0 sm:right-0 sm:w-[68%] h-56 sm:h-full">
<Image alt="" src="/hero.png" fill sizes="(min-width: 640px) 68vw, 100vw" className="object-cover" />
<Image alt="" src="/hero.png" fill sizes="(min-width: 640px) 68vw, 100vw" className="object-cover object-top" />
<div className="hidden sm:block absolute inset-y-0 left-0 w-72 bg-gradient-to-r from-bg-base to-transparent" />
<div className="absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-bg-base to-transparent" />
</div>
+1 -1
View File
@@ -80,7 +80,7 @@ function StripePaymentForm({ orderNumber }: { orderNumber: string }) {
<button
type="submit"
disabled={!stripe || submitting}
className="rounded-full bg-brand-primary px-6 py-3 text-white font-semibold disabled:opacity-50"
className="rounded-full bg-brand px-6 py-3 text-text-primary font-semibold hover:bg-brand-hover active:scale-[0.97] transition-all disabled:opacity-50"
>
{submitting ? "Wird bearbeitet…" : "Jetzt bezahlen"}
</button>
+4 -4
View File
@@ -519,10 +519,10 @@ export function Navbar({ singleActiveProduct }: { singleActiveProduct: boolean }
Newsletter
</button>
<Link
href="/lebensuhr"
href="/3x3-system"
className="px-6 py-4 rounded-sm bg-brand text-h4 font-bold text-text-primary whitespace-nowrap hover:bg-brand-hover active:scale-[0.97] transition-all"
>
Klarheitskompass
Mein 3x3-System
</Link>
</div>
@@ -668,11 +668,11 @@ export function Navbar({ singleActiveProduct }: { singleActiveProduct: boolean }
Newsletter
</button>
<Link
href="/lebensuhr"
href="/3x3-system"
onClick={closeMobile}
className="md:hidden min-h-11 flex items-center justify-center px-6 py-4 rounded-sm bg-brand text-h4 font-bold text-text-primary hover:bg-brand-hover active:scale-[0.97] transition-all"
>
Klarheitskompass
Mein 3x3-System
</Link>
</motion.div>
</div>
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

+13
View File
@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
<rect x="0" y="0" width="64" height="64" rx="14" fill="#f6a701" />
<text
x="32"
y="46"
text-anchor="middle"
font-family="Georgia, 'Playfair Display', 'Times New Roman', serif"
font-weight="700"
font-style="italic"
font-size="42"
fill="#1a1a1a"
>e</text>
</svg>

After

Width:  |  Height:  |  Size: 383 B

+4 -3
View File
@@ -964,10 +964,11 @@ export type SeoSettings = {
// filling in the CompanySettings SEO tab is optional, not a hard
// dependency for the site to render sensible metadata.
const SEO_SETTINGS_FALLBACK: SeoSettings = {
defaultTitle: "einfach produktiv. Werkzeuge und Impulse für einen leichteren Alltag",
defaultTitle: "einfach produktiv. Weil du auch noch ein Leben hast",
titleTemplate: "%s | einfach produktiv.",
defaultDescription: "Werkzeuge, Impulse und ein Blog für mehr Klarheit im Alltag.",
defaultOgImage: null,
defaultDescription:
"Kleine Impulse, praktische Werkzeuge und ehrliche Gedanken für mehr Klarheit im Alltag weil du auch noch ein Leben hast.",
defaultOgImage: "/og-image.png",
};
// Same ISR-cached, public-catalog-freshness fetch as getKleinunternehmer()
Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB