diff options
author | dan <dan.abramov@gmail.com> | 2023-09-08 01:36:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-07 17:36:08 -0700 |
commit | 8a93321fb1bd4991cbb3bd1c1f09ed2196182f93 (patch) | |
tree | 2cd7cbfa0eb98a808517c8485af3ec43c0a7ea2e /src/view/com/util/ViewHeader.tsx | |
parent | 69209c988fc412a10a5028ca915f99b1d059f5ec (diff) | |
download | voidsky-8a93321fb1bd4991cbb3bd1c1f09ed2196182f93.tar.zst |
Give explicit names to MobX observer components (#1413)
* Consider observer(...) as components * Add display names to MobX observers * Temporarily suppress nested components * Suppress new false positives for react/prop-types
Diffstat (limited to 'src/view/com/util/ViewHeader.tsx')
-rw-r--r-- | src/view/com/util/ViewHeader.tsx | 104 |
1 files changed, 51 insertions, 53 deletions
diff --git a/src/view/com/util/ViewHeader.tsx b/src/view/com/util/ViewHeader.tsx index 91cdb08c7..164028708 100644 --- a/src/view/com/util/ViewHeader.tsx +++ b/src/view/com/util/ViewHeader.tsx @@ -14,7 +14,7 @@ import {NavigationProp} from 'lib/routes/types' const BACK_HITSLOP = {left: 20, top: 20, right: 50, bottom: 20} -export const ViewHeader = observer(function ({ +export const ViewHeader = observer(function ViewHeaderImpl({ title, canGoBack, showBackButton = true, @@ -140,70 +140,68 @@ function DesktopWebHeader({ ) } -const Container = observer( - ({ - children, - hideOnScroll, - showBorder, - }: { - children: React.ReactNode - hideOnScroll: boolean - showBorder?: boolean - }) => { - const store = useStores() - const pal = usePalette('default') - const interp = useAnimatedValue(0) +const Container = observer(function ContainerImpl({ + children, + hideOnScroll, + showBorder, +}: { + children: React.ReactNode + hideOnScroll: boolean + showBorder?: boolean +}) { + const store = useStores() + const pal = usePalette('default') + const interp = useAnimatedValue(0) - React.useEffect(() => { - if (store.shell.minimalShellMode) { - Animated.timing(interp, { - toValue: 1, - duration: 100, - useNativeDriver: true, - isInteraction: false, - }).start() - } else { - Animated.timing(interp, { - toValue: 0, - duration: 100, - useNativeDriver: true, - isInteraction: false, - }).start() - } - }, [interp, store.shell.minimalShellMode]) - const transform = { - transform: [{translateY: Animated.multiply(interp, -100)}], + React.useEffect(() => { + if (store.shell.minimalShellMode) { + Animated.timing(interp, { + toValue: 1, + duration: 100, + useNativeDriver: true, + isInteraction: false, + }).start() + } else { + Animated.timing(interp, { + toValue: 0, + duration: 100, + useNativeDriver: true, + isInteraction: false, + }).start() } + }, [interp, store.shell.minimalShellMode]) + const transform = { + transform: [{translateY: Animated.multiply(interp, -100)}], + } - if (!hideOnScroll) { - return ( - <View - style={[ - styles.header, - styles.headerFixed, - pal.view, - pal.border, - showBorder && styles.border, - ]}> - {children} - </View> - ) - } + if (!hideOnScroll) { return ( - <Animated.View + <View style={[ styles.header, - styles.headerFloating, + styles.headerFixed, pal.view, pal.border, - transform, showBorder && styles.border, ]}> {children} - </Animated.View> + </View> ) - }, -) + } + return ( + <Animated.View + style={[ + styles.header, + styles.headerFloating, + pal.view, + pal.border, + transform, + showBorder && styles.border, + ]}> + {children} + </Animated.View> + ) +}) const styles = StyleSheet.create({ header: { |