Merge version_1 into main #2
@@ -17,7 +17,7 @@ export default function AdminPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="floatingGradient"
|
||||
background="circleGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
@@ -34,9 +34,7 @@ export default function AdminPage() {
|
||||
{ name: "Admin", id: "/admin" },
|
||||
]}
|
||||
button={{
|
||||
text: "Jetzt buchen",
|
||||
href: "/booking",
|
||||
}}
|
||||
text: "Jetzt buchen", href: "/booking"}}
|
||||
className="z-50"
|
||||
/>
|
||||
</div>
|
||||
@@ -53,40 +51,24 @@ export default function AdminPage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Reservierungen verwalten",
|
||||
description:
|
||||
"Übersicht aller Reservierungen mit Echtzeit-Updates. Bearbeiten, bestätigen oder stornieren Sie Buchungen mit wenigen Klicks.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg?_wi=3",
|
||||
imageAlt: "Reservierungen verwalten",
|
||||
},
|
||||
title: "Reservierungen verwalten", description:
|
||||
"Übersicht aller Reservierungen mit Echtzeit-Updates. Bearbeiten, bestätigen oder stornieren Sie Buchungen mit wenigen Klicks.", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg", imageAlt: "Reservierungen verwalten"},
|
||||
{
|
||||
id: 2,
|
||||
title: "Tischplanung",
|
||||
description:
|
||||
"Visuelle Tischplanung mit automatischer Optimierung. Kombinieren Sie Tische intelligent für größere Gruppen.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/busy-man-using-telephone-computer-simultaneously_329181-10363.jpg?_wi=3",
|
||||
imageAlt: "Tischplanung und Layout",
|
||||
},
|
||||
title: "Tischplanung", description:
|
||||
"Visuelle Tischplanung mit automatischer Optimierung. Kombinieren Sie Tische intelligent für größere Gruppen.", imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/busy-man-using-telephone-computer-simultaneously_329181-10363.jpg", imageAlt: "Tischplanung und Layout"},
|
||||
{
|
||||
id: 3,
|
||||
title: "Gäste-Management",
|
||||
description:
|
||||
"Verwalten Sie Gästedaten, Vorlieben und Besuchshistorie. Personalisierte Service-Empfehlungen basierend auf Besuchsmustern.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg?_wi=5",
|
||||
imageAlt: "Gäste-Datenbank",
|
||||
},
|
||||
title: "Gäste-Management", description:
|
||||
"Verwalten Sie Gästedaten, Vorlieben und Besuchshistorie. Personalisierte Service-Empfehlungen basierend auf Besuchsmustern.", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg", imageAlt: "Gäste-Datenbank"},
|
||||
{
|
||||
id: 4,
|
||||
title: "Benachrichtigungen",
|
||||
description:
|
||||
"Automatische Benachrichtigungen für neue Reservierungen, Stornierungen und Änderungen. Konfigurierbare Alert-Einstellungen.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg?_wi=4",
|
||||
imageAlt: "Benachrichtigungssystem",
|
||||
},
|
||||
title: "Benachrichtigungen", description:
|
||||
"Automatische Benachrichtigungen für neue Reservierungen, Stornierungen und Änderungen. Konfigurierbare Alert-Einstellungen.", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg", imageAlt: "Benachrichtigungssystem"},
|
||||
]}
|
||||
buttons={[
|
||||
{ text: "Admin-Dashboard öffnen", href: "#admin-access" },
|
||||
@@ -107,57 +89,22 @@ export default function AdminPage() {
|
||||
animationType="slide-up"
|
||||
plans={[
|
||||
{
|
||||
id: "admin-basic",
|
||||
title: "Basic Admin",
|
||||
price: "€14",
|
||||
period: "/Monat",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg?_wi=6",
|
||||
imageAlt: "Basic Admin Paket",
|
||||
button: { text: "Auswählen", href: "#contact" },
|
||||
id: "admin-basic", title: "Basic Admin", price: "€14", period: "/Monat", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg", imageAlt: "Basic Admin Paket", button: { text: "Auswählen", href: "#contact" },
|
||||
features: [
|
||||
"Reservierungsverwaltung",
|
||||
"Grundlegende Tischplanung",
|
||||
"E-Mail Benachrichtigungen",
|
||||
"Bis zu 1 Admin-Benutzer",
|
||||
"Tägliche Backups",
|
||||
],
|
||||
"Reservierungsverwaltung", "Grundlegende Tischplanung", "E-Mail Benachrichtigungen", "Bis zu 1 Admin-Benutzer", "Tägliche Backups"],
|
||||
},
|
||||
{
|
||||
id: "admin-pro",
|
||||
title: "Pro Admin",
|
||||
price: "€49",
|
||||
period: "/Monat",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg?_wi=5",
|
||||
imageAlt: "Pro Admin Paket",
|
||||
button: { text: "Auswählen", href: "#contact" },
|
||||
id: "admin-pro", title: "Pro Admin", price: "€49", period: "/Monat", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg", imageAlt: "Pro Admin Paket", button: { text: "Auswählen", href: "#contact" },
|
||||
features: [
|
||||
"Alles aus Basic Admin",
|
||||
"SMS Benachrichtigungen",
|
||||
"Gäste-Management",
|
||||
"Bis zu 5 Admin-Benutzer",
|
||||
"Erweiterte Analysen",
|
||||
"Priorisierter Support",
|
||||
],
|
||||
"Alles aus Basic Admin", "SMS Benachrichtigungen", "Gäste-Management", "Bis zu 5 Admin-Benutzer", "Erweiterte Analysen", "Priorisierter Support"],
|
||||
},
|
||||
{
|
||||
id: "admin-enterprise",
|
||||
title: "Enterprise Admin",
|
||||
price: "€149",
|
||||
period: "/Monat",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/busy-man-using-telephone-computer-simultaneously_329181-10363.jpg?_wi=4",
|
||||
imageAlt: "Enterprise Admin Paket",
|
||||
button: { text: "Kontaktieren Sie uns", href: "#contact" },
|
||||
id: "admin-enterprise", title: "Enterprise Admin", price: "€149", period: "/Monat", imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/busy-man-using-telephone-computer-simultaneously_329181-10363.jpg", imageAlt: "Enterprise Admin Paket", button: { text: "Kontaktieren Sie uns", href: "#contact" },
|
||||
features: [
|
||||
"Alles aus Pro Admin",
|
||||
"Unbegrenzte Admin-Benutzer",
|
||||
"API-Zugriff für Integrationen",
|
||||
"Custom Reports",
|
||||
"Whitelabel-Optionen",
|
||||
"24/7 Premium Support",
|
||||
],
|
||||
"Alles aus Pro Admin", "Unbegrenzte Admin-Benutzer", "API-Zugriff für Integrationen", "Custom Reports", "Whitelabel-Optionen", "24/7 Premium Support"],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
@@ -171,7 +118,7 @@ export default function AdminPage() {
|
||||
{ text: "Demo anfragen", href: "#contact" },
|
||||
{ text: "Zurück zur Startseite", href: "/" },
|
||||
]}
|
||||
background={{ variant: "floatingGradient" }}
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
@@ -182,8 +129,7 @@ export default function AdminPage() {
|
||||
copyrightText="© 2025 Pajo's Zapfbar. Alle Rechte vorbehalten."
|
||||
columns={[
|
||||
{
|
||||
title: "Produkt",
|
||||
items: [
|
||||
title: "Produkt", items: [
|
||||
{ label: "Reservieren", href: "/booking" },
|
||||
{ label: "Admin Dashboard", href: "/admin" },
|
||||
{ label: "Preise", href: "#pricing" },
|
||||
@@ -191,8 +137,7 @@ export default function AdminPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Unternehmen",
|
||||
items: [
|
||||
title: "Unternehmen", items: [
|
||||
{ label: "Über uns", href: "#" },
|
||||
{ label: "Kontakt", href: "#contact" },
|
||||
{ label: "Impressum", href: "#" },
|
||||
@@ -200,8 +145,7 @@ export default function AdminPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Rechtliches",
|
||||
items: [
|
||||
title: "Rechtliches", items: [
|
||||
{ label: "Nutzungsbedingungen", href: "#" },
|
||||
{ label: "Datenschutzerklärung", href: "#" },
|
||||
{ label: "Impressum", href: "#" },
|
||||
|
||||
@@ -16,7 +16,7 @@ export default function BookingPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="floatingGradient"
|
||||
background="circleGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
@@ -33,9 +33,7 @@ export default function BookingPage() {
|
||||
{ name: "Admin", id: "/admin" },
|
||||
]}
|
||||
button={{
|
||||
text: "Jetzt buchen",
|
||||
href: "/booking",
|
||||
}}
|
||||
text: "Jetzt buchen", href: "/booking"}}
|
||||
className="z-50"
|
||||
/>
|
||||
</div>
|
||||
@@ -44,54 +42,34 @@ export default function BookingPage() {
|
||||
<HeroBillboardTestimonial
|
||||
title="Tisch reservieren bei Pajo's Zapfbar"
|
||||
description="Wählen Sie Ihren bevorzugten Tischtyp, bestimmen Sie die Anzahl der Gäste und wählen Sie Ihr bevorzugtes Datum und Ihre Uhrzeit. Unser System findet automatisch die perfekten Plätze für Sie und kombiniert bei Bedarf mehrere Tische nahtlos zusammen."
|
||||
background={{ variant: "floatingGradient" }}
|
||||
background={{ variant: "plain" }}
|
||||
tag="Buchungsformular"
|
||||
tagIcon={Calendar}
|
||||
tagAnimation="blur-reveal"
|
||||
imageSrc="http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg?_wi=4"
|
||||
imageSrc="http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg"
|
||||
imageAlt="Reservierungsformular Interface"
|
||||
mediaAnimation="slide-up"
|
||||
testimonials={[
|
||||
{
|
||||
name: "Max Müller",
|
||||
handle: "Regelmäßiger Gast",
|
||||
testimonial:
|
||||
"Sehr benutzerfreundlich! In weniger als 2 Minuten war meine Reservierung bestätigt.",
|
||||
rating: 5,
|
||||
name: "Max Müller", handle: "Regelmäßiger Gast", testimonial:
|
||||
"Sehr benutzerfreundlich! In weniger als 2 Minuten war meine Reservierung bestätigt.", rating: 5,
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/portrait-restaurant-waiter-wearing-professional-uniform-apron_482257-95100.jpg?_wi=2",
|
||||
imageAlt: "Max Müller",
|
||||
},
|
||||
"http://img.b2bpic.net/free-photo/portrait-restaurant-waiter-wearing-professional-uniform-apron_482257-95100.jpg", imageAlt: "Max Müller"},
|
||||
{
|
||||
name: "Julia Schmidt",
|
||||
handle: "Event Organisatorin",
|
||||
testimonial:
|
||||
"Perfekt für größere Gruppen. Die automatische Tischkombination hat uns viel Planungszeit gespart.",
|
||||
rating: 5,
|
||||
name: "Julia Schmidt", handle: "Event Organisatorin", testimonial:
|
||||
"Perfekt für größere Gruppen. Die automatische Tischkombination hat uns viel Planungszeit gespart.", rating: 5,
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/mid-adult-barista-cleaning-drinking-glass-after-working-hours-pub_637285-3394.jpg?_wi=2",
|
||||
imageAlt: "Julia Schmidt",
|
||||
},
|
||||
"http://img.b2bpic.net/free-photo/mid-adult-barista-cleaning-drinking-glass-after-working-hours-pub_637285-3394.jpg", imageAlt: "Julia Schmidt"},
|
||||
{
|
||||
name: "Andreas Weber",
|
||||
handle: "Stammkunde",
|
||||
testimonial:
|
||||
"Ich schätze die SMS-Bestätigung und die Erinnerung vor meinem Besuch. Nie wieder vergessen!",
|
||||
rating: 5,
|
||||
name: "Andreas Weber", handle: "Stammkunde", testimonial:
|
||||
"Ich schätze die SMS-Bestätigung und die Erinnerung vor meinem Besuch. Nie wieder vergessen!", rating: 5,
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/portrait-smiling-owner-standing-bakery-shop_1170-2075.jpg?_wi=2",
|
||||
imageAlt: "Andreas Weber",
|
||||
},
|
||||
"http://img.b2bpic.net/free-photo/portrait-smiling-owner-standing-bakery-shop_1170-2075.jpg", imageAlt: "Andreas Weber"},
|
||||
{
|
||||
name: "Patricia Hoffmann",
|
||||
handle: "Geschäftsfrau",
|
||||
testimonial:
|
||||
"Ideal für spontane Geschäftsessen. Die Verfügbarkeit wird in Echtzeit angezeigt.",
|
||||
rating: 5,
|
||||
name: "Patricia Hoffmann", handle: "Geschäftsfrau", testimonial:
|
||||
"Ideal für spontane Geschäftsessen. Die Verfügbarkeit wird in Echtzeit angezeigt.", rating: 5,
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/close-up-volunteer-smiling_23-2149134458.jpg?_wi=2",
|
||||
imageAlt: "Patricia Hoffmann",
|
||||
},
|
||||
"http://img.b2bpic.net/free-photo/close-up-volunteer-smiling_23-2149134458.jpg", imageAlt: "Patricia Hoffmann"},
|
||||
]}
|
||||
buttons={[
|
||||
{ text: "Jetzt buchen", href: "#booking" },
|
||||
@@ -110,7 +88,7 @@ export default function BookingPage() {
|
||||
{ text: "Zurück zur Startseite", href: "/" },
|
||||
{ text: "Kontakt", href: "#footer" },
|
||||
]}
|
||||
background={{ variant: "floatingGradient" }}
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
@@ -121,8 +99,7 @@ export default function BookingPage() {
|
||||
copyrightText="© 2025 Pajo's Zapfbar. Alle Rechte vorbehalten."
|
||||
columns={[
|
||||
{
|
||||
title: "Produkt",
|
||||
items: [
|
||||
title: "Produkt", items: [
|
||||
{ label: "Reservieren", href: "/booking" },
|
||||
{ label: "Admin Dashboard", href: "/admin" },
|
||||
{ label: "Preise", href: "#pricing" },
|
||||
@@ -130,8 +107,7 @@ export default function BookingPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Unternehmen",
|
||||
items: [
|
||||
title: "Unternehmen", items: [
|
||||
{ label: "Über uns", href: "#" },
|
||||
{ label: "Kontakt", href: "#contact" },
|
||||
{ label: "Impressum", href: "#" },
|
||||
@@ -139,8 +115,7 @@ export default function BookingPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Rechtliches",
|
||||
items: [
|
||||
title: "Rechtliches", items: [
|
||||
{ label: "Nutzungsbedingungen", href: "#" },
|
||||
{ label: "Datenschutzerklärung", href: "#" },
|
||||
{ label: "Impressum", href: "#" },
|
||||
|
||||
156
src/app/page.tsx
156
src/app/page.tsx
@@ -18,7 +18,7 @@ export default function HomePage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="floatingGradient"
|
||||
background="circleGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
@@ -35,9 +35,7 @@ export default function HomePage() {
|
||||
{ name: "Admin", id: "/admin" },
|
||||
]}
|
||||
button={{
|
||||
text: "Jetzt buchen",
|
||||
href: "/booking",
|
||||
}}
|
||||
text: "Jetzt buchen", href: "/booking"}}
|
||||
className="z-50"
|
||||
/>
|
||||
</div>
|
||||
@@ -46,7 +44,7 @@ export default function HomePage() {
|
||||
<HeroBillboardTestimonial
|
||||
title="Reservieren Sie Ihren Tisch bei Pajo's Zapfbar"
|
||||
description="Einfach, schnell und unkompliziert - buchen Sie Ihren perfekten Platz an unserem Zapftisch oder an einem unserer gemütlichen Tische. Für Gruppen bis 12 Personen buchen wir automatisch mehrere Tische nebeneinander."
|
||||
background={{ variant: "floatingGradient" }}
|
||||
background={{ variant: "plain" }}
|
||||
tag="Online Reservierungssystem"
|
||||
tagIcon={Calendar}
|
||||
tagAnimation="blur-reveal"
|
||||
@@ -55,45 +53,25 @@ export default function HomePage() {
|
||||
mediaAnimation="slide-up"
|
||||
testimonials={[
|
||||
{
|
||||
name: "Marco Pajo",
|
||||
handle: "Geschäftsführer, Pajo's Zapfbar",
|
||||
testimonial:
|
||||
"Das Reservierungssystem hat unser Geschäft transformiert. Wir können jetzt viel effizienter planen und unsere Gäste sind zufriedener.",
|
||||
rating: 5,
|
||||
name: "Marco Pajo", handle: "Geschäftsführer, Pajo's Zapfbar", testimonial:
|
||||
"Das Reservierungssystem hat unser Geschäft transformiert. Wir können jetzt viel effizienter planen und unsere Gäste sind zufriedener.", rating: 5,
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/portrait-restaurant-waiter-wearing-professional-uniform-apron_482257-95100.jpg?_wi=1",
|
||||
imageAlt: "Marco Pajo Porträt",
|
||||
},
|
||||
"http://img.b2bpic.net/free-photo/portrait-restaurant-waiter-wearing-professional-uniform-apron_482257-95100.jpg", imageAlt: "Marco Pajo Porträt"},
|
||||
{
|
||||
name: "Sarah Wagner",
|
||||
handle: "Event Managerin",
|
||||
testimonial:
|
||||
"Perfekt für große Gruppen! Die automatische Tischkombination spart uns so viel Zeit bei der Planung.",
|
||||
rating: 5,
|
||||
name: "Sarah Wagner", handle: "Event Managerin", testimonial:
|
||||
"Perfekt für große Gruppen! Die automatische Tischkombination spart uns so viel Zeit bei der Planung.", rating: 5,
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/mid-adult-barista-cleaning-drinking-glass-after-working-hours-pub_637285-3394.jpg?_wi=1",
|
||||
imageAlt: "Sarah Wagner Porträt",
|
||||
},
|
||||
"http://img.b2bpic.net/free-photo/mid-adult-barista-cleaning-drinking-glass-after-working-hours-pub_637285-3394.jpg", imageAlt: "Sarah Wagner Porträt"},
|
||||
{
|
||||
name: "Thomas Becker",
|
||||
handle: "Stammgast",
|
||||
testimonial:
|
||||
"Ich buche jetzt regelmäßig online. Viel bequemer als anzurufen und ich bekomme sofort eine Bestätigung.",
|
||||
rating: 5,
|
||||
name: "Thomas Becker", handle: "Stammgast", testimonial:
|
||||
"Ich buche jetzt regelmäßig online. Viel bequemer als anzurufen und ich bekomme sofort eine Bestätigung.", rating: 5,
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/portrait-smiling-owner-standing-bakery-shop_1170-2075.jpg?_wi=1",
|
||||
imageAlt: "Thomas Becker Porträt",
|
||||
},
|
||||
"http://img.b2bpic.net/free-photo/portrait-smiling-owner-standing-bakery-shop_1170-2075.jpg", imageAlt: "Thomas Becker Porträt"},
|
||||
{
|
||||
name: "Lisa Meyer",
|
||||
handle: "Restaurant Manager",
|
||||
testimonial:
|
||||
"Die Admin-Dashboard ist intuitiv zu bedienen. Alle Reservierungen auf einen Blick - genau das haben wir gebraucht.",
|
||||
rating: 5,
|
||||
name: "Lisa Meyer", handle: "Restaurant Manager", testimonial:
|
||||
"Die Admin-Dashboard ist intuitiv zu bedienen. Alle Reservierungen auf einen Blick - genau das haben wir gebraucht.", rating: 5,
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/close-up-volunteer-smiling_23-2149134458.jpg?_wi=1",
|
||||
imageAlt: "Lisa Meyer Porträt",
|
||||
},
|
||||
"http://img.b2bpic.net/free-photo/close-up-volunteer-smiling_23-2149134458.jpg", imageAlt: "Lisa Meyer Porträt"},
|
||||
]}
|
||||
buttons={[
|
||||
{ text: "Jetzt reservieren", href: "/booking" },
|
||||
@@ -116,40 +94,24 @@ export default function HomePage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Tischtyp wählen",
|
||||
description:
|
||||
"Wählen Sie zwischen unserem großzügigen Zapftisch oder einem gemütlichen normalen Tisch. Beide Optionen bieten ein großartiges Erlebnis.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg?_wi=1",
|
||||
imageAlt: "Tischtyp Auswahl Interface",
|
||||
},
|
||||
title: "Tischtyp wählen", description:
|
||||
"Wählen Sie zwischen unserem großzügigen Zapftisch oder einem gemütlichen normalen Tisch. Beide Optionen bieten ein großartiges Erlebnis.", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg", imageAlt: "Tischtyp Auswahl Interface"},
|
||||
{
|
||||
id: 2,
|
||||
title: "Gästezahl eingeben",
|
||||
description:
|
||||
"Teilen Sie uns mit, wie viele Personen kommen. Unser System findet automatisch die besten verfügbaren Tische für Sie.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/busy-man-using-telephone-computer-simultaneously_329181-10363.jpg?_wi=1",
|
||||
imageAlt: "Gästezahl Eingabe",
|
||||
},
|
||||
title: "Gästezahl eingeben", description:
|
||||
"Teilen Sie uns mit, wie viele Personen kommen. Unser System findet automatisch die besten verfügbaren Tische für Sie.", imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/busy-man-using-telephone-computer-simultaneously_329181-10363.jpg", imageAlt: "Gästezahl Eingabe"},
|
||||
{
|
||||
id: 3,
|
||||
title: "Zeitpunkt wählen",
|
||||
description:
|
||||
"Wählen Sie Ihr bevorzugtes Datum und Ihre Uhrzeit. Unser Kalender zeigt Ihnen sofort die Verfügbarkeit.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg?_wi=2",
|
||||
imageAlt: "Datum und Uhrzeit Auswahl",
|
||||
},
|
||||
title: "Zeitpunkt wählen", description:
|
||||
"Wählen Sie Ihr bevorzugtes Datum und Ihre Uhrzeit. Unser Kalender zeigt Ihnen sofort die Verfügbarkeit.", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg", imageAlt: "Datum und Uhrzeit Auswahl"},
|
||||
{
|
||||
id: 4,
|
||||
title: "Bestätigung erhalten",
|
||||
description:
|
||||
"Nach Ihrer Reservierung erhalten Sie eine sofortige Bestätigung per E-Mail und SMS. Der Admin wird benachrichtigt.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg?_wi=1",
|
||||
imageAlt: "Bestätigungsschirm",
|
||||
},
|
||||
title: "Bestätigung erhalten", description:
|
||||
"Nach Ihrer Reservierung erhalten Sie eine sofortige Bestätigung per E-Mail und SMS. Der Admin wird benachrichtigt.", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg", imageAlt: "Bestätigungsschirm"},
|
||||
]}
|
||||
buttons={[{ text: "Reservieren Sie jetzt", href: "/booking" }]}
|
||||
buttonAnimation="blur-reveal"
|
||||
@@ -168,57 +130,22 @@ export default function HomePage() {
|
||||
animationType="slide-up"
|
||||
plans={[
|
||||
{
|
||||
id: "basic",
|
||||
title: "Kostenloses System",
|
||||
price: "€0",
|
||||
period: "für immer",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg?_wi=3",
|
||||
imageAlt: "Kostenloses System Plan",
|
||||
button: { text: "Kostenlos starten", href: "/booking" },
|
||||
id: "basic", title: "Kostenloses System", price: "€0", period: "für immer", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/travel-booking-app-screens_52683-42533.jpg", imageAlt: "Kostenloses System Plan", button: { text: "Kostenlos starten", href: "/booking" },
|
||||
features: [
|
||||
"Online Tischreservierung",
|
||||
"Automatische Tischkombination",
|
||||
"E-Mail Benachrichtigungen",
|
||||
"Basis Admin-Dashboard",
|
||||
"Bis zu 50 Reservierungen/Monat",
|
||||
],
|
||||
"Online Tischreservierung", "Automatische Tischkombination", "E-Mail Benachrichtigungen", "Basis Admin-Dashboard", "Bis zu 50 Reservierungen/Monat"],
|
||||
},
|
||||
{
|
||||
id: "pro",
|
||||
title: "Professional",
|
||||
price: "€29",
|
||||
period: "/Monat",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg?_wi=2",
|
||||
imageAlt: "Professional Plan",
|
||||
button: { text: "Jetzt upgraden", href: "#contact" },
|
||||
id: "pro", title: "Professional", price: "€29", period: "/Monat", imageSrc:
|
||||
"http://img.b2bpic.net/free-vector/school-timetable-template-with-flat-design_23-2147848898.jpg", imageAlt: "Professional Plan", button: { text: "Jetzt upgraden", href: "#contact" },
|
||||
features: [
|
||||
"Alles aus dem kostenlosen Plan",
|
||||
"SMS Benachrichtigungen",
|
||||
"Erweiterte Admin-Funktionen",
|
||||
"Reservierungshistorie",
|
||||
"Unbegrenzte Reservierungen",
|
||||
"E-Mail Support",
|
||||
],
|
||||
"Alles aus dem kostenlosen Plan", "SMS Benachrichtigungen", "Erweiterte Admin-Funktionen", "Reservierungshistorie", "Unbegrenzte Reservierungen", "E-Mail Support"],
|
||||
},
|
||||
{
|
||||
id: "enterprise",
|
||||
title: "Enterprise",
|
||||
price: "€99",
|
||||
period: "/Monat",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/busy-man-using-telephone-computer-simultaneously_329181-10363.jpg?_wi=2",
|
||||
imageAlt: "Enterprise Plan",
|
||||
button: { text: "Kontaktieren Sie uns", href: "#contact" },
|
||||
id: "enterprise", title: "Enterprise", price: "€99", period: "/Monat", imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/busy-man-using-telephone-computer-simultaneously_329181-10363.jpg", imageAlt: "Enterprise Plan", button: { text: "Kontaktieren Sie uns", href: "#contact" },
|
||||
features: [
|
||||
"Alles aus dem Professional Plan",
|
||||
"Prioritäts-Support",
|
||||
"API-Zugriff",
|
||||
"Custom Branding",
|
||||
"Multiple Benutzer",
|
||||
"Erweiterte Analysen",
|
||||
],
|
||||
"Alles aus dem Professional Plan", "Prioritäts-Support", "API-Zugriff", "Custom Branding", "Multiple Benutzer", "Erweiterte Analysen"],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
@@ -232,7 +159,7 @@ export default function HomePage() {
|
||||
{ text: "Kontakt aufnehmen", href: "#footer" },
|
||||
{ text: "Demo anfordern", href: "/booking" },
|
||||
]}
|
||||
background={{ variant: "floatingGradient" }}
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
@@ -243,8 +170,7 @@ export default function HomePage() {
|
||||
copyrightText="© 2025 Pajo's Zapfbar. Alle Rechte vorbehalten."
|
||||
columns={[
|
||||
{
|
||||
title: "Produkt",
|
||||
items: [
|
||||
title: "Produkt", items: [
|
||||
{ label: "Reservieren", href: "/booking" },
|
||||
{ label: "Admin Dashboard", href: "/admin" },
|
||||
{ label: "Preise", href: "#pricing" },
|
||||
@@ -252,8 +178,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Unternehmen",
|
||||
items: [
|
||||
title: "Unternehmen", items: [
|
||||
{ label: "Über uns", href: "#" },
|
||||
{ label: "Kontakt", href: "#contact" },
|
||||
{ label: "Impressum", href: "#" },
|
||||
@@ -261,8 +186,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Rechtliches",
|
||||
items: [
|
||||
title: "Rechtliches", items: [
|
||||
{ label: "Nutzungsbedingungen", href: "#" },
|
||||
{ label: "Datenschutzerklärung", href: "#" },
|
||||
{ label: "Impressum", href: "#" },
|
||||
|
||||
@@ -1,51 +1,35 @@
|
||||
"use client";
|
||||
|
||||
import { memo } from "react";
|
||||
import useSvgTextLogo from "./useSvgTextLogo";
|
||||
import { cls } from "@/lib/utils";
|
||||
import React from 'react';
|
||||
|
||||
interface SvgTextLogoProps {
|
||||
logoText: string;
|
||||
adjustHeightFactor?: number;
|
||||
verticalAlign?: "top" | "center";
|
||||
text: string;
|
||||
className?: string;
|
||||
textClassName?: string;
|
||||
dominantBaseline?: 'middle' | 'central';
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
|
||||
text,
|
||||
className = '',
|
||||
textClassName = '',
|
||||
dominantBaseline = 'middle',
|
||||
}) => {
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
viewBox="0 0 300 100"
|
||||
className={className}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<text
|
||||
ref={textRef}
|
||||
x="0"
|
||||
y={verticalAlign === "center" ? "50%" : "0"}
|
||||
className="font-bold fill-current"
|
||||
style={{
|
||||
fontSize: "20px",
|
||||
letterSpacing: "-0.02em",
|
||||
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
|
||||
}}
|
||||
x="50%"
|
||||
y="50%"
|
||||
dominantBaseline={dominantBaseline}
|
||||
textAnchor="middle"
|
||||
className={textClassName}
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
};
|
||||
|
||||
export default SvgTextLogo;
|
||||
|
||||
Reference in New Issue
Block a user