Files
einfach-produktiv/app/components/Footer.tsx
T
Marco 9e5532be63 Add shop, cart, versand pages and Impulse & Tipps detail page
- 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
2026-07-19 14:42:22 +00:00

61 lines
2.1 KiB
TypeScript

import Link from "next/link";
const links = [
{ label: "Impressum", href: "/impressum" },
{ label: "Datenschutz", href: "/datenschutz" },
{ label: "Versand", href: "/versand" },
{ label: "AGB", href: "/agb" },
{ label: "Widerruf", href: "/widerruf" },
];
export function Footer() {
return (
<footer className="bg-bg-dark flex flex-col items-center justify-end w-full mt-auto">
{/* 3px top divider — not a border */}
<div className="bg-[#30302c] h-[3px] w-full shrink-0" />
{/* Footer inner — max-width 1280px, centered */}
<div className="flex flex-col items-center w-full max-w-[1280px] py-8 md:py-4">
{/* Three groups: logo | @handle | links — stacked + centered below md */}
<div className="flex flex-col md:flex-row items-center md:justify-between gap-6 md:gap-0 px-8 md:px-16 w-full">
{/* Logo: "einfach produktiv" white + "." gold */}
<div className="flex items-center p-2 shrink-0">
<span
className="font-semibold text-bg-white text-h-small leading-normal whitespace-nowrap"
style={{ fontFamily: "var(--font-lora)" }}
>
einfach produktiv
<span className="text-brand">.</span>
</span>
</div>
{/* Social handle — Lora Regular (weight 400) */}
<p
className="font-normal text-bg-white text-h-small text-center leading-[1.2] whitespace-nowrap shrink-0"
style={{ fontFamily: "var(--font-lora)", fontWeight: 400 }}
>
@einfach.produktiv
</p>
{/* Legal links — wrap + center below md instead of a rigid row */}
<div className="flex flex-wrap items-center justify-center gap-x-6 gap-y-2 shrink-0">
{links.map((link) => (
<Link
key={link.label}
href={link.href}
className="font-normal text-bg-white text-body-sm leading-[1.5] whitespace-nowrap hover:text-brand transition-colors"
>
{link.label}
</Link>
))}
</div>
</div>
</div>
</footer>
);
}