feat: système de signalement bug/idée + modal changelog avec limitations

- AppReport entity + migration (type, message, fingerprint SHA-256, created_at)
- POST /api/report avec rate-limit 5/heure par fingerprint IP
- ReportModal : formulaire type radio (bug/idée) + textarea 1 000 chars max
- ChangelogModal : fonctionnalités en prod, roadmap, 5 limitations honnêtes
- Deux boutons flottants bas-gauche (? info + ✉ signalement)
- Légende remontée pour éviter le chevauchement

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Gwadaking
2026-04-14 12:52:32 -04:00
parent 83690b94ab
commit fd476f50c2
12 changed files with 643 additions and 7 deletions

View File

@@ -13,6 +13,39 @@ body {
height: 100vh;
}
/* ── Boutons flottants (signalement + info) ── */
.app__actions {
position: absolute;
bottom: 14px;
left: 16px;
display: flex;
flex-direction: column;
gap: 8px;
z-index: 15;
}
.app__action-btn {
width: 36px;
height: 36px;
border: 2.5px solid #333;
border-radius: 50%;
font-size: 16px;
font-family: 'Fredoka', sans-serif;
font-weight: 700;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 3px 3px 0px #333;
transition: transform .1s, box-shadow .1s;
}
.app__action-btn:hover {
transform: translate(-2px, -2px);
box-shadow: 5px 5px 0px #333;
}
.app__action-btn--info { background: #fffbf0; color: #1a1a2e; }
.app__action-btn--report { background: #2563eb; color: #fff; }
/* Vagues SVG en overlay sur la mer — très subtil, pointer-events none */
.app__wave-overlay {
position: absolute;