9e5532be63
- New /shop overview, /cart (real cart state via useSyncExternalStore), /versand (shipping policy page with TOC) and /newsletter detail page - Cart: quantity/removal, order summary, related-products cross-sell with randomized picks, VersandModal quick-reference instead of navigating away, MwSt. disclosure next to unit prices - Add-to-cart UX: inline success feedback (green state) plus a fly-to-navbar-cart-icon animation (CartFlyProvider) with a delayed badge count-up; AddToCartButton no longer navigates straight to /cart - Shared lib/products.ts catalog and lib/shipping.ts constants (cost, free-shipping threshold, handling/transit days) so cart, trust badges and the versand page can never drift apart - Fix Navbar smooth-scroll easing (ease-out instead of ease-in-out, no more perceived start delay); compress newsletter modal photo 2.4MB -> 85KB to fix first-open jank
50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
import type { Metadata } from "next";
|
||
import { Hero } from "./components/Hero";
|
||
import { Divider } from "./components/Divider";
|
||
import { Tools } from "./components/Tools";
|
||
import { ProductSpotlight } from "./components/ProductSpotlight";
|
||
import { Blog } from "./components/Blog";
|
||
import { About } from "./components/About";
|
||
import { Newsletter } from "./components/Newsletter";
|
||
import { Footer } from "./components/Footer";
|
||
|
||
const title = "einfach produktiv. – Produktivität darf sich leicht anfühlen";
|
||
const description =
|
||
"Werkzeuge, Impulse und die 7-Tage-Challenge für Menschen mit Familie, Verantwortung und wenig Zeit. Mehr Klarheit und Fokus im Alltag – einfach produktiv.";
|
||
|
||
export const metadata: Metadata = {
|
||
title,
|
||
description,
|
||
alternates: {
|
||
canonical: "/",
|
||
},
|
||
openGraph: {
|
||
title,
|
||
description,
|
||
url: "/",
|
||
images: ["/hero.png"],
|
||
},
|
||
twitter: {
|
||
title,
|
||
description,
|
||
images: ["/hero.png"],
|
||
},
|
||
};
|
||
|
||
export default function Home() {
|
||
return (
|
||
<>
|
||
<main className="flex flex-col flex-1">
|
||
<Hero />
|
||
<Divider />
|
||
<Tools />
|
||
<ProductSpotlight />
|
||
<Blog />
|
||
<About />
|
||
<Newsletter />
|
||
</main>
|
||
<Footer />
|
||
</>
|
||
);
|
||
}
|