7b4b54a9ac
- Hero.tsx: structural breakpoint reverted from lg: back to md: — the smaller CTA/subtitle/icon sizes added during the Mobile pass fit comfortably in the ~283px Tablet column, so the original 3-line-wrap problem that justified lg: doesn't recur. Tablet gets the real 5/7 grid (image beside text) again instead of a stacked mobile layout. - Tools.tsx: full-size (56px) card icon pushed from md: to lg: — at Tablet it dwarfed the still-close-to-floor title/description text. - About.tsx: text/photo flex ratio swapped at Tablet (text gets the bigger share, no overlap) vs. the original ratio + overlap trick from lg: up, where it was designed for — Tablet's text column was too narrow for its fixed-width statement + quote/bio row otherwise. - Newsletter.tsx/Footer.tsx: the input+button row and the logo/handle/ legal-links row both went side-by-side at md:, but their surrounding columns didn't leave enough width at 768px — pushed to lg:flex-row.
68 lines
2.5 KiB
TypeScript
68 lines
2.5 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
|
|
lg: (was md:). Logo + handle + 5 legal links all side by side
|
|
with justify-between read too cramped on Tablet — stacked
|
|
through that range instead, side by side again once there's
|
|
real room at lg:. */}
|
|
<div className="flex flex-col lg:flex-row items-center lg:justify-between gap-6 lg: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) */}
|
|
<a
|
|
href="https://www.instagram.com/einfach.produktiv/"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="font-normal text-bg-white text-h-small text-center leading-[1.2] whitespace-nowrap shrink-0 hover:text-brand transition-colors"
|
|
style={{ fontFamily: "var(--font-lora)", fontWeight: 400 }}
|
|
>
|
|
@einfach.produktiv
|
|
</a>
|
|
|
|
{/* 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>
|
|
);
|
|
}
|