EditNameBottomSheet :
- Render conditionnel (mounted seulement quand editingName=true) pour ne plus
ouvrir le clavier auto à l'arrivée sur ScanDetail
- BottomSheetScrollView avec contentContainerStyle inline (Tailwind pour le
reste) + insets.bottom pour padding bas
- isDirty disable du Save quand le nom n'a pas changé
- Boutons Annuler/Enregistrer en row via inner View avec icônes X/Check,
font-bold, minHeight 56px
EditProfileModal :
- BottomSheetScrollView : actions déplacées DANS le scroll (juste après le
dernier input email) → toujours visibles sous le formulaire, jamais
poussées en bas du sheet
- snap 95% + topInset safe-area
- Boutons même style (icônes + ghost grisé bordé + primary shadow)
MapBottomSheet rename inline :
- useImperativeHandle pour forwarder le ref correctement et avoir un
internalRef accessible côté composant
- snapToIndex(2) à l'ouverture du form (85%) puis snapToIndex(0) après
save/cancel pour redonner la map
- BottomSheetScrollView pour le rename form avec keyboardShouldPersistTaps
- keyboardBehavior 'interactive' + android_keyboardInputMode 'adjustResize'
- containerStyle { zIndex:100, elevation:100 } pour passer au-dessus des
FloatingActions
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>