photobooth funktionen im event admin verlinkt, gäste pwa zeigt photobooth nur noch an, wenn diese aktiviert ist. kontaktformular optimiert. teilen-link mit iMessage und whatsapp erweitert.

This commit is contained in:
Codex Agent
2025-11-23 22:22:06 +01:00
parent 3d9eaa1194
commit df414a31cd
32 changed files with 809 additions and 280 deletions

View File

@@ -20,7 +20,7 @@ const Footer: React.FC = () => {
const currentYear = new Date().getFullYear();
return (
<footer className="mt-auto border-t border-gray-200 bg-white">
<footer className="mt-auto border-t border-gray-200 bg-white dark:border-gray-800 dark:bg-gray-900">
<div className="mx-auto max-w-7xl px-4 py-8 sm:px-6 lg:px-8">
<div className="grid grid-cols-1 gap-8 md:grid-cols-3">
<div>
@@ -30,7 +30,7 @@ const Footer: React.FC = () => {
<Link href={links.home} className="font-display text-2xl font-bold text-pink-500">
Die Fotospiel App
</Link>
<p className="mt-2 font-sans-marketing text-gray-600">
<p className="mt-2 font-sans-marketing text-gray-600 dark:text-gray-300">
{t('marketing:footer.company', 'S.E.B. Fotografie')}
</p>
</div>
@@ -38,27 +38,27 @@ const Footer: React.FC = () => {
</div>
<div>
<h3 className="font-display mb-4 font-semibold text-gray-900">
<h3 className="font-display mb-4 font-semibold text-gray-900 dark:text-gray-50">
{t('legal:headline', 'Rechtliches')}
</h3>
<ul className="font-sans-marketing space-y-2 text-sm text-gray-600">
<ul className="font-sans-marketing space-y-2 text-sm text-gray-600 dark:text-gray-300">
<li>
<Link href={links.impressum} className="transition-colors hover:text-pink-500">
<Link href={links.impressum} className="transition-colors hover:text-pink-500 dark:hover:text-pink-300">
{t('legal:impressum')}
</Link>
</li>
<li>
<Link href={links.datenschutz} className="transition-colors hover:text-pink-500">
<Link href={links.datenschutz} className="transition-colors hover:text-pink-500 dark:hover:text-pink-300">
{t('legal:datenschutz')}
</Link>
</li>
<li>
<Link href={links.agb} className="transition-colors hover:text-pink-500">
<Link href={links.agb} className="transition-colors hover:text-pink-500 dark:hover:text-pink-300">
{t('legal:agb')}
</Link>
</li>
<li>
<Link href={links.kontakt} className="transition-colors hover:text-pink-500">
<Link href={links.kontakt} className="transition-colors hover:text-pink-500 dark:hover:text-pink-300">
{t('marketing:nav.contact')}
</Link>
</li>
@@ -66,7 +66,7 @@ const Footer: React.FC = () => {
<button
type="button"
onClick={openPreferences}
className="transition-colors hover:text-pink-500"
className="transition-colors hover:text-pink-500 dark:hover:text-pink-300"
>
{t('common:consent.footer.manage_link')}
</button>
@@ -75,18 +75,18 @@ const Footer: React.FC = () => {
</div>
<div>
<h3 className="font-display mb-4 font-semibold text-gray-900">
<h3 className="font-display mb-4 font-semibold text-gray-900 dark:text-gray-50">
{t('marketing:footer.social', 'Social')}
</h3>
<ul className="font-sans-marketing space-y-2 text-sm text-gray-600">
<li><a href="#" className="hover:text-pink-500">Instagram</a></li>
<li><a href="#" className="hover:text-pink-500">Facebook</a></li>
<li><a href="#" className="hover:text-pink-500">YouTube</a></li>
<ul className="font-sans-marketing space-y-2 text-sm text-gray-600 dark:text-gray-300">
<li><a href="#" className="hover:text-pink-500 dark:hover:text-pink-300">Instagram</a></li>
<li><a href="#" className="hover:text-pink-500 dark:hover:text-pink-300">Facebook</a></li>
<li><a href="#" className="hover:text-pink-500 dark:hover:text-pink-300">YouTube</a></li>
</ul>
</div>
</div>
<div className="font-sans-marketing mt-8 border-t border-gray-200 pt-8 text-center text-sm text-gray-500">
<div className="font-sans-marketing mt-8 border-t border-gray-200 pt-8 text-center text-sm text-gray-500 dark:border-gray-800 dark:text-gray-400">
&copy; {currentYear} Die Fotospiel App {t('marketing:footer.rights_reserved', 'Alle Rechte vorbehalten')}.
</div>
</div>