diff --git a/frontend/package.json b/frontend/package.json index 696e7c0..0ecdecd 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "homehub-frontend", "private": true, - "version": "0.5.0", + "version": "0.5.1", "type": "module", "scripts": { "dev": "vite", diff --git a/frontend/src/components/BottomSheet.tsx b/frontend/src/components/BottomSheet.tsx index 58b2de0..74e4652 100644 --- a/frontend/src/components/BottomSheet.tsx +++ b/frontend/src/components/BottomSheet.tsx @@ -1,9 +1,32 @@ +import { useState, useEffect } from 'react' + interface BottomSheetProps { onClose: () => void children: React.ReactNode } export default function BottomSheet({ onClose, children }: BottomSheetProps) { + const [keyboardOffset, setKeyboardOffset] = useState(0) + + useEffect(() => { + const vv = window.visualViewport + if (!vv) return + + function update() { + // keyboard height = différence entre la hauteur totale et la hauteur visible + const offset = Math.max(0, window.innerHeight - vv!.height - vv!.offsetTop) + setKeyboardOffset(offset) + } + + vv.addEventListener('resize', update) + vv.addEventListener('scroll', update) + update() + return () => { + vv.removeEventListener('resize', update) + vv.removeEventListener('scroll', update) + } + }, []) + return ( <>