Wire the seam end to end: the background mirrors config.local.json into storage (a content script would need web_accessible_resources, which would expose the email to the mairie page), and the content script lays the computed values into the form. The layer is deliberately thin and untested: all the logic lives in formulaire-valeurs.js. It never writes an empty value, never touches the image, the honeypots or the CSRF tokens, and never submits: a human reads and sends. A banner states what is left to do, and warns when a field could not be filled, so that a silent failure stays diagnosable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
50 lines
894 B
CSS
50 lines
894 B
CSS
/* Bandeau injecté dans la page de la mairie. Propriétés posées explicitement :
|
|
le CSS du site est hors de notre contrôle et pourrait tout hériter. */
|
|
|
|
.echo-bandeau {
|
|
display: block;
|
|
box-sizing: border-box;
|
|
margin: 1.5rem 0;
|
|
padding: 1rem 1.25rem;
|
|
border: 1px solid #1a73e8;
|
|
border-left-width: 4px;
|
|
border-radius: 4px;
|
|
background: #f2f7fe;
|
|
color: #1a1a1a;
|
|
font-family: system-ui, sans-serif;
|
|
font-size: 1rem;
|
|
line-height: 1.5;
|
|
text-align: left;
|
|
}
|
|
|
|
.echo-bandeau p {
|
|
margin: 0 0 0.5rem;
|
|
color: inherit;
|
|
}
|
|
|
|
.echo-bandeau-titre {
|
|
font-weight: 700;
|
|
}
|
|
|
|
.echo-bandeau-liste {
|
|
margin: 0 0 0.5rem;
|
|
padding-left: 1.5rem;
|
|
list-style: disc;
|
|
}
|
|
|
|
.echo-bandeau-liste li {
|
|
margin: 0;
|
|
color: inherit;
|
|
list-style: disc;
|
|
}
|
|
|
|
.echo-bandeau-consigne {
|
|
margin-bottom: 0;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.echo-bandeau-alerte {
|
|
margin: 0.75rem 0 0;
|
|
color: #b3261e;
|
|
}
|