contactForm top-level property
Map<String, dynamic>
contactForm
getter/setter pair
Implementation
Map<String, dynamic> contactForm = {
"formType": "PUBLIC_CONTACT",
"currentStepIndex": 0,
"formTitle": "Contacte-nous",
"formSubTitle": "Une question, une remarque, ou simplement envie de nous écrire ? Remplis ce formulaire.",
"theme": {
"appBackgroundImage": "https://images.pexels.com/photos/2471235/pexels-photo-2471235.jpeg", // optionnel
"quizHeaderImage": "https://images.pexels.com/photos/2471234/pexels-photo-2471234.jpeg", // optionnel
"maxQuizHeight": 650,
"maxQuizWidth": 660,
},
"steps": [
{
"stepKey": "contact_info",
"stepLabel": "Informations",
"questions": [
{
"questionKey": "name",
"label": "Nom complet",
"type": "text",
"params": {"mandatory": true, "placeholder": "Ton nom ou ton pseudo"}
},
{
"questionKey": "email",
"label": "Adresse e-mail",
"type": "email",
"params": {"mandatory": true, "placeholder": "exemple@mail.com"}
},
{
"questionKey": "subject",
"label": "Sujet du message",
"type": "text",
"params": {"mandatory": true, "placeholder": "Ex : Problème technique, suggestion, etc."}
}
]
},
{
"stepKey": "message",
"stepLabel": "Ton message",
"questions": [
{
"questionKey": "message",
"label": "Message",
"type": "textarea",
"params": {"mandatory": true, "placeholder": "Écris ton message ici"}
},
{
"questionKey": "attachment",
"label": "Joindre un fichier (optionnel)",
"type": "file",
"params": {
"mandatory": false,
"accept": [".jpg", ".png", ".pdf", ".docx"],
"maxFileSizeMB": 5
}
},
{
"questionKey": "consent",
"label": "J'accepte que mes données soient utilisées pour être recontacté",
"type": "boolean",
"params": {"mandatory": true}
}
]
},
{
"stepKey": "success",
"stepLabel": "Merci !",
"questions": [
{
"questionKey": "thank_you",
"label": "🎉 Merci pour ton message ! Nous reviendrons vers toi rapidement.",
"type": "info",
"params": {"mandatory": false}
}
]
}
]
};