Files
hyggecraftery-web/app/apps/page.tsx
Tim Leikauf 7f67d123d6 Initial Next.js 14 project — HyggeCraftery web
- App Router mit TypeScript & Tailwind CSS
- Landing Page mit Hero, Über uns, Shop-Teaser, Apps-Teaser, Newsletter
- /shop mit 6 Platzhalter-Produkten
- /apps Übersicht mit Snakkimo, Fittimo, Rezeptimo
- Nav mit Apps-Dropdown, Footer
- Design System: Cormorant Garamond + Mulish, Markenfarben
- lib/shopify.ts als Platzhalter für Storefront API
- Hero-Bild aus ZIP übernommen

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 23:04:02 +02:00

103 lines
4.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Metadata } from 'next'
import Link from 'next/link'
export const metadata: Metadata = {
title: 'Apps HyggeCraftery',
description: 'Drei sanfte Apps für einen langsameren, bewussteren Alltag.',
}
const apps = [
{
name: 'Snakkimo',
tagline: 'Eine Kachel. Eine Lektion. Eine Sprache.',
desc: 'Sprachen lernen, das sich anfühlt wie durch einen schönen Feed scrollen. Kleine Lektionen, großer Effekt — ganz ohne Druck.',
href: '/apps/snakkimo',
accent: '#7BA7BC',
iconRadius: '20px 20px 20px 6px',
badge: 'Sprachen lernen für Erwachsene',
},
{
name: 'Fittimo',
tagline: 'Eine Übung. Jederzeit. Überall.',
desc: 'Sanfte Bewegung und Atemübungen für Körper und Geist im Einklang. Kleine Übungen, großer Effekt.',
href: '/apps/fittimo',
accent: '#7DAF8A',
iconRadius: '20px 6px 20px 20px',
badge: 'Bewegung im Alltag',
},
{
name: 'Rezeptimo',
tagline: 'Ein Rezept. Einfach. Genussvoll.',
desc: 'Saisonale Rezepte zum langsamen Kochen — ehrlich, einfach, nährend. Ganz ohne Stress.',
href: '/apps/rezeptimo',
accent: '#C4896A',
iconRadius: '6px 20px 20px 20px',
badge: 'Kochen mit Freude',
},
]
export default function AppsPage() {
return (
<div style={{ fontFamily: 'var(--font-mulish, Mulish, sans-serif)', color: '#3D2B1F', background: '#FAFAF7' }}>
<div style={{ maxWidth: 1240, margin: '0 auto', padding: '80px 48px 120px' }}>
<div style={{ textAlign: 'center', maxWidth: 640, margin: '0 auto 80px' }}>
<span style={{ fontSize: 13, fontWeight: 700, letterSpacing: 2.5, textTransform: 'uppercase', color: '#A8B89A' }}>Unsere Apps</span>
<h1 style={{ fontFamily: 'var(--font-cormorant, "Cormorant Garamond", serif)', fontWeight: 500, fontSize: 58, letterSpacing: -0.8, color: '#3D2B1F', margin: '14px 0 18px' }}>
Achtsamkeit in der Tasche
</h1>
<p style={{ fontSize: 17, color: '#6b5d4e', margin: 0, lineHeight: 1.7 }}>
Drei sanfte Begleiter für einen langsameren, bewussteren Alltag.
</p>
</div>
<div style={{ display: 'flex', flexDirection: 'column', gap: 32 }}>
{apps.map((app, i) => (
<Link
key={app.name}
href={app.href}
style={{
textDecoration: 'none',
display: 'grid',
gridTemplateColumns: i % 2 === 0 ? '1fr 2fr' : '2fr 1fr',
gap: 48,
alignItems: 'center',
background: '#F5F0E8',
borderRadius: 40,
padding: '56px 64px',
color: 'inherit',
}}
>
{i % 2 !== 0 && (
<div>
<span style={{ fontSize: 13, fontWeight: 700, letterSpacing: 2, textTransform: 'uppercase', color: app.accent }}>{app.badge}</span>
<h2 style={{ fontFamily: 'var(--font-cormorant, "Cormorant Garamond", serif)', fontWeight: 500, fontSize: 44, letterSpacing: -0.6, color: '#3D2B1F', margin: '12px 0 16px' }}>{app.tagline}</h2>
<p style={{ fontSize: 16, color: '#6b5d4e', margin: '0 0 28px', lineHeight: 1.7 }}>{app.desc}</p>
<span style={{ fontSize: 15, fontWeight: 600, color: app.accent, borderBottom: `1.5px solid ${app.accent}`, paddingBottom: 3 }}>Mehr erfahren </span>
</div>
)}
<div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
<div style={{ width: 200, height: 200, borderRadius: app.iconRadius, background: app.accent, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
<span style={{ fontFamily: 'var(--font-cormorant, "Cormorant Garamond", serif)', fontSize: 64, fontWeight: 600, color: 'rgba(250,250,247,0.9)' }}>
{app.name[0]}
</span>
</div>
</div>
{i % 2 === 0 && (
<div>
<span style={{ fontSize: 13, fontWeight: 700, letterSpacing: 2, textTransform: 'uppercase', color: app.accent }}>{app.badge}</span>
<h2 style={{ fontFamily: 'var(--font-cormorant, "Cormorant Garamond", serif)', fontWeight: 500, fontSize: 44, letterSpacing: -0.6, color: '#3D2B1F', margin: '12px 0 16px' }}>{app.tagline}</h2>
<p style={{ fontSize: 16, color: '#6b5d4e', margin: '0 0 28px', lineHeight: 1.7 }}>{app.desc}</p>
<span style={{ fontSize: 15, fontWeight: 600, color: app.accent, borderBottom: `1.5px solid ${app.accent}`, paddingBottom: 3 }}>Mehr erfahren </span>
</div>
)}
</Link>
))}
</div>
</div>
</div>
)
}