Fix some clampys

This commit is contained in:
Eric Bailey
2024-12-19 16:52:49 -06:00
parent 7f63679a5e
commit 8a0798caa3
6 changed files with 9 additions and 17 deletions
@@ -12,7 +12,6 @@ import {ReanimatedScrollEvent} from 'react-native-reanimated/lib/typescript/hook
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {AppBskyEmbedRecord, AppBskyRichtextFacet, RichText} from '@atproto/api'
import {clamp} from '#/lib/numbers'
import {ScrollProvider} from '#/lib/ScrollContext'
import {shortenLinks, stripInvalidMentions} from '#/lib/strings/rich-text-manip'
import {
@@ -238,7 +237,7 @@ export function MessagesList({
// -- Keyboard animation handling
const {bottom: bottomInset} = useSafeAreaInsets()
const bottomOffset = isWeb ? 0 : clamp(60 + bottomInset, 60, 75)
const bottomOffset = isWeb ? 0 : 60 + bottomInset
const keyboardHeight = useSharedValue(0)
const keyboardIsOpening = useSharedValue(false)
+2 -5
View File
@@ -63,7 +63,6 @@ import {
} from '#/lib/constants'
import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED'
import {useEmail} from '#/lib/hooks/useEmail'
import {useIsKeyboardVisible} from '#/lib/hooks/useIsKeyboardVisible'
import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
import {usePalette} from '#/lib/hooks/usePalette'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
@@ -170,7 +169,6 @@ export const ComposePost = ({
const {closeAllDialogs} = useDialogStateControlContext()
const {closeAllModals} = useModalControls()
const [isKeyboardVisible] = useIsKeyboardVisible({iosUseWillEvents: true})
const [isPublishing, setIsPublishing] = useState(false)
const [publishingStage, setPublishingStage] = useState('')
const [error, setError] = useState('')
@@ -263,10 +261,9 @@ export const ComposePost = ({
const viewStyles = useMemo(
() => ({
paddingTop: isAndroid ? insets.top : 0,
paddingBottom:
isAndroid || (isIOS && !isKeyboardVisible) ? insets.bottom : 0,
paddingBottom: 0,
}),
[insets, isKeyboardVisible],
[insets],
)
const onPressCancel = useCallback(() => {
+1 -2
View File
@@ -13,7 +13,6 @@ import {useMinimalShellFabTransform} from '#/lib/hooks/useMinimalShellTransform'
import {useSetTitle} from '#/lib/hooks/useSetTitle'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
import {clamp} from '#/lib/numbers'
import {ScrollProvider} from '#/lib/ScrollContext'
import {sanitizeDisplayName} from '#/lib/strings/display-names'
import {cleanError} from '#/lib/strings/errors'
@@ -714,7 +713,7 @@ function MobileComposePrompt({onPressReply}: {onPressReply: () => unknown}) {
styles.prompt,
fabMinimalShellTransform,
{
bottom: clamp(safeAreaInsets.bottom, 13, 30),
bottom: safeAreaInsets.bottom,
},
]}>
<PostThreadComposePrompt onPressCompose={onPressReply} />
+1 -2
View File
@@ -8,7 +8,6 @@ import {PressableScale} from '#/lib/custom-animations/PressableScale'
import {useHaptics} from '#/lib/haptics'
import {useMinimalShellFabTransform} from '#/lib/hooks/useMinimalShellTransform'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
import {clamp} from '#/lib/numbers'
import {gradients} from '#/lib/styles'
import {isWeb} from '#/platform/detection'
import {ios} from '#/alf'
@@ -29,7 +28,7 @@ export function FABInner({testID, icon, onPress, ...props}: FABProps) {
const tabletSpacing = isTablet
? {right: 50, bottom: 50}
: {right: 24, bottom: clamp(insets.bottom, 15, 60) + 15}
: {right: 24, bottom: insets.bottom + 30}
return (
<Animated.View
@@ -8,7 +8,6 @@ import {HITSLOP_20} from '#/lib/constants'
import {useMinimalShellFabTransform} from '#/lib/hooks/useMinimalShellTransform'
import {usePalette} from '#/lib/hooks/usePalette'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
import {clamp} from '#/lib/numbers'
import {useGate} from '#/lib/statsig/statsig'
import {colors} from '#/lib/styles'
import {isWeb} from '#/platform/detection'
@@ -44,9 +43,7 @@ export function LoadLatestBtn({
// it on both tablet and mobile since we are showing the bottom bar (see createNativeStackNavigatorWithAuth)
const showBottomBar = hasSession ? isMobile : isTabletOrMobile
const bottomPosition = isTablet
? {bottom: 50}
: {bottom: clamp(insets.bottom, 15, 60) + 15}
const bottomPosition = isTablet ? {bottom: 50} : {bottom: insets.bottom + 30}
return (
<AnimatedTouchableOpacity
+3 -2
View File
@@ -13,7 +13,6 @@ import {useDedupe} from '#/lib/hooks/useDedupe'
import {useMinimalShellFooterTransform} from '#/lib/hooks/useMinimalShellTransform'
import {useNavigationTabState} from '#/lib/hooks/useNavigationTabState'
import {usePalette} from '#/lib/hooks/usePalette'
import {clamp} from '#/lib/numbers'
import {getTabState, TabState} from '#/lib/routes/helpers'
import {useGate} from '#/lib/statsig/statsig'
import {s} from '#/lib/styles'
@@ -125,6 +124,8 @@ export function BottomBar({navigation}: BottomTabBarProps) {
accountSwitchControl.open()
}, [accountSwitchControl, playHaptic])
console.log('BottomBar render', safeAreaInsets.bottom)
return (
<>
<SwitchAccountDialog control={accountSwitchControl} />
@@ -134,7 +135,7 @@ export function BottomBar({navigation}: BottomTabBarProps) {
styles.bottomBar,
pal.view,
pal.border,
{paddingBottom: clamp(safeAreaInsets.bottom, 15, 30)},
{paddingBottom: safeAreaInsets.bottom},
footerMinimalShellTransform,
]}
onLayout={e => {