feat(ux): user-select global, swipe-gauche édition, clavier numérique, versionnage v0.4.0

- user-select:none global (index.css) + reset sur input/textarea/select
- ItemRow: swipe gauche → édition (fond bleu), suppression long press,
  bouton ✕ toujours visible sur mobile
- SwipeableRow: prop onSwipeLeft, révèle rightContent entre seuil/2 et seuil,
  déclenche onSwipeLeft au seuil complet
- TodosPage: onSwipeLeft → édition (remplace double-tap)
- inputMode=decimal sur tous les champs quantité et prix
- formatQty: affiche "2" au lieu de "2.000"
- Versionnage: __APP_VERSION__ injecté par Vite depuis package.json v0.4.0
- HomePage: version affichée à côté du titre (v0.4.0)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 07:38:23 +02:00
co-authored by Claude Sonnet 4.6
parent f86dd01d95
commit 19c686b4be
10 changed files with 59 additions and 68 deletions
+2
View File
@@ -447,6 +447,7 @@ export default function ShoppingPage() {
<input
style={inputStyle}
placeholder="Quantité"
inputMode="decimal"
value={editQty}
onChange={e => setEditQty(e.target.value)}
autoFocus
@@ -555,6 +556,7 @@ export default function ShoppingPage() {
<div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 8 }}>
<input
style={inputStyle} placeholder="Quantité"
inputMode="decimal"
value={newItemQty}
onChange={e => setNewItemQty(e.target.value)}
/>