From c6c4c5a552b53a325c79a7531e6bb72a138261e0 Mon Sep 17 00:00:00 2001 From: Till-JS <101404291+Till-JS@users.noreply.github.com> Date: Tue, 25 Nov 2025 03:03:41 +0100 Subject: [PATCH] feat(landing): add shared-landing-ui package and manadeck landing page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create @manacore/shared-landing-ui package with reusable components (FeatureSection, StepsSection, FAQSection, CTASection, Card atoms) - Add complete landing page for manadeck app - Refactor märchenzauber landing to use shared components (remove local CTA, FAQ, Features, HowItWorks sections) - Add German localization for manacore and memoro landing pages - Update workspace configuration and package dependencies 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- maerchenzauber/apps/landing/package.json | 1 + .../landing/src/components/sections/CTA.astro | 62 ---- .../landing/src/components/sections/FAQ.astro | 113 ------ .../src/components/sections/Features.astro | 101 ------ .../src/components/sections/HowItWorks.astro | 88 ----- .../apps/landing/src/pages/index.astro | 220 +++++++++++- .../apps/landing/src/pages/shared-demo.astro | 201 +++++++++++ .../apps/landing/src/styles/global.css | 15 +- manacore/apps/landing/package.json | 1 + .../apps/landing/src/layouts/Layout.astro | 20 ++ .../landing/src/pages/de/shared-demo.astro | 170 +++++++++ manacore/apps/landing/src/styles/global.css | 52 +++ manadeck/apps/landing/astro.config.mjs | 17 + manadeck/apps/landing/package.json | 27 ++ manadeck/apps/landing/public/favicon.svg | 4 + manadeck/apps/landing/public/robots.txt | 4 + .../apps/landing/src/components/Footer.astro | 78 +++++ .../landing/src/components/Navigation.astro | 84 +++++ manadeck/apps/landing/src/env.d.ts | 1 + .../apps/landing/src/layouts/Layout.astro | 47 +++ manadeck/apps/landing/src/pages/index.astro | 287 +++++++++++++++ manadeck/apps/landing/src/styles/global.css | 103 ++++++ manadeck/apps/landing/tailwind.config.mjs | 39 +++ manadeck/apps/landing/tsconfig.json | 9 + memoro/apps/landing/package.json | 3 +- .../landing/src/pages/de/shared-demo.astro | 150 ++++++++ memoro/apps/landing/src/styles/base.css | 22 ++ package.json | 7 +- packages/shared-landing-ui/README.md | 326 ++++++++++++++++++ packages/shared-landing-ui/package.json | 39 +++ .../shared-landing-ui/src/atoms/Badge.astro | 36 ++ .../shared-landing-ui/src/atoms/Button.astro | 75 ++++ .../shared-landing-ui/src/atoms/Card.astro | 50 +++ .../src/atoms/Container.astro | 30 ++ .../src/atoms/SectionHeader.astro | 49 +++ packages/shared-landing-ui/src/index.ts | 20 ++ .../src/layouts/Footer.astro | 169 +++++++++ .../src/sections/CTASection.astro | 74 ++++ .../src/sections/FAQSection.astro | 115 ++++++ .../src/sections/FeatureSection.astro | 95 +++++ .../src/sections/HeroSection.astro | 246 +++++++++++++ .../src/sections/PricingSection.astro | 140 ++++++++ .../src/sections/StepsSection.astro | 88 +++++ .../src/sections/TestimonialSection.astro | 121 +++++++ .../shared-landing-ui/src/themes/index.css | 81 +++++ .../src/themes/maerchenzauber.css | 24 ++ .../shared-landing-ui/src/themes/manacore.css | 24 ++ .../shared-landing-ui/src/themes/manadeck.css | 24 ++ .../shared-landing-ui/src/themes/memoro.css | 24 ++ packages/shared-landing-ui/src/utils/index.ts | 106 ++++++ packages/shared-landing-ui/tsconfig.json | 13 + pnpm-workspace.yaml | 5 +- 52 files changed, 3519 insertions(+), 381 deletions(-) delete mode 100644 maerchenzauber/apps/landing/src/components/sections/CTA.astro delete mode 100644 maerchenzauber/apps/landing/src/components/sections/FAQ.astro delete mode 100644 maerchenzauber/apps/landing/src/components/sections/Features.astro delete mode 100644 maerchenzauber/apps/landing/src/components/sections/HowItWorks.astro create mode 100644 maerchenzauber/apps/landing/src/pages/shared-demo.astro create mode 100644 manacore/apps/landing/src/pages/de/shared-demo.astro create mode 100644 manacore/apps/landing/src/styles/global.css create mode 100644 manadeck/apps/landing/astro.config.mjs create mode 100644 manadeck/apps/landing/package.json create mode 100644 manadeck/apps/landing/public/favicon.svg create mode 100644 manadeck/apps/landing/public/robots.txt create mode 100644 manadeck/apps/landing/src/components/Footer.astro create mode 100644 manadeck/apps/landing/src/components/Navigation.astro create mode 100644 manadeck/apps/landing/src/env.d.ts create mode 100644 manadeck/apps/landing/src/layouts/Layout.astro create mode 100644 manadeck/apps/landing/src/pages/index.astro create mode 100644 manadeck/apps/landing/src/styles/global.css create mode 100644 manadeck/apps/landing/tailwind.config.mjs create mode 100644 manadeck/apps/landing/tsconfig.json create mode 100644 memoro/apps/landing/src/pages/de/shared-demo.astro create mode 100644 packages/shared-landing-ui/README.md create mode 100644 packages/shared-landing-ui/package.json create mode 100644 packages/shared-landing-ui/src/atoms/Badge.astro create mode 100644 packages/shared-landing-ui/src/atoms/Button.astro create mode 100644 packages/shared-landing-ui/src/atoms/Card.astro create mode 100644 packages/shared-landing-ui/src/atoms/Container.astro create mode 100644 packages/shared-landing-ui/src/atoms/SectionHeader.astro create mode 100644 packages/shared-landing-ui/src/index.ts create mode 100644 packages/shared-landing-ui/src/layouts/Footer.astro create mode 100644 packages/shared-landing-ui/src/sections/CTASection.astro create mode 100644 packages/shared-landing-ui/src/sections/FAQSection.astro create mode 100644 packages/shared-landing-ui/src/sections/FeatureSection.astro create mode 100644 packages/shared-landing-ui/src/sections/HeroSection.astro create mode 100644 packages/shared-landing-ui/src/sections/PricingSection.astro create mode 100644 packages/shared-landing-ui/src/sections/StepsSection.astro create mode 100644 packages/shared-landing-ui/src/sections/TestimonialSection.astro create mode 100644 packages/shared-landing-ui/src/themes/index.css create mode 100644 packages/shared-landing-ui/src/themes/maerchenzauber.css create mode 100644 packages/shared-landing-ui/src/themes/manacore.css create mode 100644 packages/shared-landing-ui/src/themes/manadeck.css create mode 100644 packages/shared-landing-ui/src/themes/memoro.css create mode 100644 packages/shared-landing-ui/src/utils/index.ts create mode 100644 packages/shared-landing-ui/tsconfig.json diff --git a/maerchenzauber/apps/landing/package.json b/maerchenzauber/apps/landing/package.json index bbc2caadf..3d9ef064f 100644 --- a/maerchenzauber/apps/landing/package.json +++ b/maerchenzauber/apps/landing/package.json @@ -12,6 +12,7 @@ "@astrojs/react": "^4.4.1", "@astrojs/tailwind": "^6.0.2", "@fontsource/grandstander": "^5.2.7", + "@manacore/shared-landing-ui": "workspace:*", "astro": "^5.15.3", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/maerchenzauber/apps/landing/src/components/sections/CTA.astro b/maerchenzauber/apps/landing/src/components/sections/CTA.astro deleted file mode 100644 index e8cac873d..000000000 --- a/maerchenzauber/apps/landing/src/components/sections/CTA.astro +++ /dev/null @@ -1,62 +0,0 @@ ---- -// CTA section for landing page ---- - -
-
-
- -
🚀
- - -

- Bereit für magische Geschichten? -

- - -

- Lade Märchenzauber herunter und erschaffe noch heute deine erste personalisierte Geschichte. - Starte kostenlos mit 100 Mana! -

- - - - - -
-
- - - - 100% Sicher -
-
- - - - DSGVO konform -
-
- - - - - Kindgerecht -
-
-
-
- - -
-

- Häufig gestellte Fragen -

-

- Alles, was du über Märchenzauber wissen musst -

-
- - -
- {faqs.map((faq, index) => ( -
- - -
-

- {faq.question} -

-
- - - -
-
-
-

- {faq.answer} -

-
-
-
-
- ))} -
- - -
-

- Noch Fragen? Wir sind für dich da! -

- -
- -
- - \ No newline at end of file diff --git a/maerchenzauber/apps/landing/src/components/sections/Features.astro b/maerchenzauber/apps/landing/src/components/sections/Features.astro deleted file mode 100644 index 31bbc2f21..000000000 --- a/maerchenzauber/apps/landing/src/components/sections/Features.astro +++ /dev/null @@ -1,101 +0,0 @@ ---- -import Card from '../ui/Card.astro'; - -const features = [ - { - icon: '🦸‍♂️', - title: 'Personalisierte Charaktere', - description: 'Erschaffe einzigartige Helden mit eigenen Namen, Aussehen und besonderen Eigenschaften. Jeder Charakter wird liebevoll zum Leben erweckt.' - }, - { - icon: '✨', - title: 'KI-generierte Geschichten', - description: 'Unsere fortschrittliche KI erstellt maßgeschneiderte Märchen basierend auf deinen Ideen. Jede Geschichte ist einzigartig und altersgerecht.' - }, - { - icon: '🎨', - title: 'Wunderschöne Illustrationen', - description: 'Jede Seite wird mit hochwertigen, KI-generierten Bildern im 3D-Pixar-Stil illustriert. Deine Geschichte wird zum visuellen Erlebnis.' - }, - { - icon: '📚', - title: 'Unbegrenzte Kreativität', - description: 'Erstelle so viele Geschichten wie du möchtest. Von Abenteuern bis Gute-Nacht-Geschichten - deiner Fantasie sind keine Grenzen gesetzt.' - }, - { - icon: '👨‍👩‍👧‍👦', - title: 'Familienfreundlich', - description: 'Sichere, kindgerechte Inhalte für verschiedene Altersgruppen. Perfekt für gemeinsame Familienzeit und Vorlesestunden.' - }, - { - icon: '📱', - title: 'Überall verfügbar', - description: 'Zugriff auf deine Geschichten von jedem Gerät. Offline-Modus für unterwegs. Deine Märchenbibliothek immer dabei.' - } -]; ---- - -
-
- -
-

- Magische Features für kleine Geschichtenerzähler -

-

- Entdecke alle Möglichkeiten, die Märchenzauber bietet, um die Fantasie deines Kindes zu beflügeln. -

-
- - -
- {features.map((feature, index) => ( - -
- -
- {feature.icon} -
- - -

- {feature.title} -

- - -

- {feature.description} -

-
-
- ))} -
- - -
- -
-
🌟
-
-

- Mana-Token System -

-

- Flexibles Kreditsystem für die Generierung von Geschichten. - Starte kostenlos und erweitere deine Möglichkeiten mit zusätzlichen Mana-Tokens. -

-
-
-
- M -
-
-
100 Mana
-
Startguthaben
-
-
-
-
-
-
-
\ No newline at end of file diff --git a/maerchenzauber/apps/landing/src/components/sections/HowItWorks.astro b/maerchenzauber/apps/landing/src/components/sections/HowItWorks.astro deleted file mode 100644 index 8ae46898b..000000000 --- a/maerchenzauber/apps/landing/src/components/sections/HowItWorks.astro +++ /dev/null @@ -1,88 +0,0 @@ ---- -import Card from '../ui/Card.astro'; - -const steps = [ - { - number: '1', - title: 'Charakter erstellen', - description: 'Gib deinem Helden einen Namen und beschreibe sein Aussehen. Wähle aus drei generierten Bildern deinen Favoriten.', - image: '/screenshots/create-character.png' - }, - { - number: '2', - title: 'Geschichte beschreiben', - description: 'Erzähle uns, wovon deine Geschichte handeln soll. Die KI verwandelt deine Idee in ein spannendes Abenteuer.', - image: '/screenshots/create-story.png' - }, - { - number: '3', - title: 'Magie erleben', - description: 'Lehne dich zurück und genieße deine personalisierte Geschichte mit wunderschönen Illustrationen.', - image: '/screenshots/view-story.png' - } -]; ---- - -
-
- -
-

- So einfach funktioniert's -

-

- In nur drei Schritten zu deiner personalisierten Geschichte -

-
- - -
- {steps.map((step, index) => ( -
- -
-
-
- {step.number} -
-

- {step.title} -

-
-

- {step.description} -

-
- - -
- -
- {step.title} - -
-
-
-
-
- ))} -
- - -
-

- Bereit, deine erste Geschichte zu erstellen? -

- - Jetzt starten - - - - -
-
-
\ No newline at end of file diff --git a/maerchenzauber/apps/landing/src/pages/index.astro b/maerchenzauber/apps/landing/src/pages/index.astro index 7651e1045..2a2de7809 100644 --- a/maerchenzauber/apps/landing/src/pages/index.astro +++ b/maerchenzauber/apps/landing/src/pages/index.astro @@ -2,30 +2,232 @@ import BaseLayout from '../layouts/BaseLayout.astro'; import Navigation from '../components/layout/Navigation.astro'; import Footer from '../components/layout/Footer.astro'; +// Local components (app-specific) import Hero from '../components/sections/Hero.astro'; -import Features from '../components/sections/Features.astro'; -import HowItWorks from '../components/sections/HowItWorks.astro'; import StoryShowcase from '../components/sections/StoryShowcase.astro'; import CharacterGallery from '../components/sections/CharacterGallery.astro'; import Testimonials from '../components/sections/Testimonials.astro'; import Pricing from '../components/sections/Pricing.astro'; -import FAQ from '../components/sections/FAQ.astro'; -import CTA from '../components/sections/CTA.astro'; +// Shared components +import FeatureSection from '@manacore/shared-landing-ui/sections/FeatureSection.astro'; +import StepsSection from '@manacore/shared-landing-ui/sections/StepsSection.astro'; +import FAQSection from '@manacore/shared-landing-ui/sections/FAQSection.astro'; +import CTASection from '@manacore/shared-landing-ui/sections/CTASection.astro'; +import Card from '@manacore/shared-landing-ui/atoms/Card.astro'; + +// Feature data +const features = [ + { + icon: '🦸‍♂️', + title: 'Personalisierte Charaktere', + description: 'Erschaffe einzigartige Helden mit eigenen Namen, Aussehen und besonderen Eigenschaften. Jeder Charakter wird liebevoll zum Leben erweckt.' + }, + { + icon: '✨', + title: 'KI-generierte Geschichten', + description: 'Unsere fortschrittliche KI erstellt maßgeschneiderte Märchen basierend auf deinen Ideen. Jede Geschichte ist einzigartig und altersgerecht.' + }, + { + icon: '🎨', + title: 'Wunderschöne Illustrationen', + description: 'Jede Seite wird mit hochwertigen, KI-generierten Bildern im 3D-Pixar-Stil illustriert. Deine Geschichte wird zum visuellen Erlebnis.' + }, + { + icon: '📚', + title: 'Unbegrenzte Kreativität', + description: 'Erstelle so viele Geschichten wie du möchtest. Von Abenteuern bis Gute-Nacht-Geschichten - deiner Fantasie sind keine Grenzen gesetzt.' + }, + { + icon: '👨‍👩‍👧‍👦', + title: 'Familienfreundlich', + description: 'Sichere, kindgerechte Inhalte für verschiedene Altersgruppen. Perfekt für gemeinsame Familienzeit und Vorlesestunden.' + }, + { + icon: '📱', + title: 'Überall verfügbar', + description: 'Zugriff auf deine Geschichten von jedem Gerät. Offline-Modus für unterwegs. Deine Märchenbibliothek immer dabei.' + } +]; + +// Steps data +const steps = [ + { + number: '1', + title: 'Charakter erstellen', + description: 'Gib deinem Helden einen Namen und beschreibe sein Aussehen. Wähle aus drei generierten Bildern deinen Favoriten.', + image: '/screenshots/create-character.png' + }, + { + number: '2', + title: 'Geschichte beschreiben', + description: 'Erzähle uns, wovon deine Geschichte handeln soll. Die KI verwandelt deine Idee in ein spannendes Abenteuer.', + image: '/screenshots/create-story.png' + }, + { + number: '3', + title: 'Magie erleben', + description: 'Lehne dich zurück und genieße deine personalisierte Geschichte mit wunderschönen Illustrationen.', + image: '/screenshots/view-story.png' + } +]; + +// FAQ data +const faqs = [ + { + question: 'Für welches Alter ist Märchenzauber geeignet?', + answer: 'Märchenzauber ist für Kinder von 3-12 Jahren konzipiert. Die Geschichten werden automatisch an das Alter angepasst, sodass sowohl Kindergartenkinder als auch Grundschüler passende Inhalte erhalten.' + }, + { + question: 'Wie funktioniert das Mana-System?', + answer: 'Mana sind Credits, die du für die Generierung von Geschichten verwendest. Eine Geschichte kostet etwa 30-40 Mana. Du startest mit 100 kostenlosen Mana und kannst jederzeit weitere kaufen oder ein Abo abschließen.' + }, + { + question: 'Kann ich die Geschichten offline lesen?', + answer: 'Ja! Alle generierten Geschichten werden in deiner Bibliothek gespeichert und können offline gelesen werden. So hast du deine Lieblingsgeschichten immer dabei.' + }, + { + question: 'Sind die Inhalte sicher für Kinder?', + answer: 'Absolut! Alle Geschichten werden automatisch auf kindgerechte Inhalte geprüft. Wir verwenden spezielle Filter und Richtlinien, um sicherzustellen, dass nur altersgerechte und positive Geschichten erstellt werden.' + }, + { + question: 'Kann ich mehrere Charaktere erstellen?', + answer: 'Ja, du kannst so viele Charaktere erstellen, wie du möchtest! Jeder Charakter wird in deiner Bibliothek gespeichert und kann in verschiedenen Geschichten verwendet werden.' + }, + { + question: 'In welchen Sprachen ist die App verfügbar?', + answer: 'Aktuell ist Märchenzauber auf Deutsch verfügbar. Wir arbeiten an weiteren Sprachen wie Englisch, Französisch und Spanisch, die bald verfügbar sein werden.' + } +]; --- - +
- - + + + +
+ +
+
🌟
+
+

+ Mana-Token System +

+

+ Flexibles Kreditsystem für die Generierung von Geschichten. + Starte kostenlos und erweitere deine Möglichkeiten mit zusätzlichen Mana-Tokens. +

+
+
+
+ M +
+
+
100 Mana
+
Startguthaben
+
+
+
+
+
+
+ + + +
+

+ Bereit, deine erste Geschichte zu erstellen? +

+ + Jetzt starten + + + + +
+
+ - - + + + +
+

+ Noch Fragen? Wir sind für dich da! +

+ +
+
+ + + +
+
+ + + + 100% Sicher +
+
+ + + + DSGVO konform +
+
+ + + + + Kindgerecht +
+
+