import { useEffect, useState } from 'react'; import { api } from '../../../api/client.js'; import ImageUploadField from '../../../components/ImageUploadField.jsx'; const emptyForm = { phone: '', whatsapp: '', contact_email: '', hero_image_path: '' }; export default function WebsiteSettings() { const [form, setForm] = useState(emptyForm); const [loading, setLoading] = useState(true); const [busy, setBusy] = useState(false); const [saved, setSaved] = useState(false); const [error, setError] = useState(''); useEffect(() => { api .get('/site-settings') .then((res) => setForm({ phone: res.phone || '', whatsapp: res.whatsapp || '', contact_email: res.contact_email || '', hero_image_path: res.hero_image_path || '', }) ) .finally(() => setLoading(false)); }, []); const update = (field, value) => { setForm((f) => ({ ...f, [field]: value })); setSaved(false); }; const handleSave = async (e) => { e.preventDefault(); setBusy(true); setError(''); setSaved(false); try { await api.post('/site-settings', form); setSaved(true); } catch (err) { setError(err.message); } finally { setBusy(false); } }; if (loading) { return

Lädt…

; } return (

Startseiten-Bild

Das große Hero-Bild ganz oben auf der Startseite. Ohne eigenes Bild wird das Standardbild verwendet.

update('hero_image_path', path)} label="Bild" />

Kontaktdaten

Wird im Header, Footer und auf der Kontaktseite angezeigt.

update('phone', e.target.value)} placeholder="09373 20 62 390" className="w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-sm dark:border-slate-700 dark:bg-slate-900" />
update('whatsapp', e.target.value)} placeholder="z. B. 09373 20 62 390" className="w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-sm dark:border-slate-700 dark:bg-slate-900" />

Leer lassen, um den WhatsApp-Link im Header auszublenden.

update('contact_email', e.target.value)} placeholder="info@hifi-planet-amorbach.de" className="w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-sm dark:border-slate-700 dark:bg-slate-900" />
{error &&

{error}

} {saved &&

Gespeichert.

}
); }