import { useEffect, useState } from 'react'; import { api } from '../../api/client.js'; const emptyForm = { question_de: '', answer_de: '', question_en: '', answer_en: '', sort_order: 0, }; export default function Faqs() { const [faqs, setFaqs] = useState([]); const [form, setForm] = useState(emptyForm); const [editingId, setEditingId] = useState(null); const [error, setError] = useState(''); const load = () => api.get('/faqs').then(setFaqs); useEffect(load, []); const startEdit = (f) => { setEditingId(f.id); setForm({ question_de: f.question_de, answer_de: f.answer_de, question_en: f.question_en, answer_en: f.answer_en, sort_order: f.sort_order, }); }; const resetForm = () => { setEditingId(null); setForm(emptyForm); }; const handleSubmit = async (e) => { e.preventDefault(); setError(''); const payload = { ...form, sort_order: Number(form.sort_order) }; try { if (editingId) { await api.put(`/faqs/${editingId}`, payload); } else { await api.post('/faqs', payload); } resetForm(); load(); } catch (err) { setError(err.message); } }; const handleDelete = async (id) => { if (!confirm('Diese Frage wirklich löschen?')) return; await api.delete(`/faqs/${id}`); load(); }; return (

Häufig gestellte Fragen

Diese Fragen erscheinen im FAQ-Bereich der Startseite, jeweils in der aktuell gewählten Sprache. Die 6 mitgelieferten Einträge sind die Standard-Einstellung – du kannst sie bearbeiten, löschen und beliebig neue hinzufügen.

{faqs.map((f) => ( ))} {faqs.length === 0 && ( )}
Frage (DE) Sortierung Aktionen
{f.question_de} {f.sort_order}
Noch keine Fragen angelegt.

{editingId ? 'Frage bearbeiten' : 'Neue Frage'}

setForm({ ...form, question_de: e.target.value })} className="w-full rounded-md border border-neutral-300 bg-white px-3 py-2 text-sm dark:border-neutral-700 dark:bg-neutral-900" />