diff options
author | Bryan Lee <38807139+liby@users.noreply.github.com> | 2023-09-29 03:47:34 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-28 12:47:34 -0700 |
commit | 2aae37d67bfd387802724a2a94825716746389a4 (patch) | |
tree | 77996db11ec9459b7f57bdfa18bac5aefba5f333 /src/view/com/post-thread/PostThread.tsx | |
parent | 2e5f73ff6149f9ac2834b0417c84b76763ef5ee2 (diff) | |
download | voidsky-2aae37d67bfd387802724a2a94825716746389a4.tar.zst |
Improve Device Detection For Better Responsiveness (#1512)
* Refactor `useOnMainScroll` function to use responsive device detection - Replace static `isDesktopWeb` with `useWebMediaQueries` hook to enable dynamic device type detection. - Create `useDeviceLimits` hook to dynamically determine `DY_LIMIT_UP` and `DY_LIMIT_DOWN` based on device type. - Update dependency arrays for the `useCallback` hooks to include new dynamic variables. * Refactor styles to be responsive to device type - Create `useStyles` hook that generates styles object based on device type detected from `useWebMediaQueries`. - Replace static styles object with dynamic styles object generated from `useStyles` hook in components. - This allows `paddingLeft` values for 'ul' and 'ol' styles to adapt to device type dynamically. - This allows `maxWidth` values for 'metaItem'' styles to adapt to device type dynamically. * Remove `isDesktopWeb` in favor of `useWebMediaQueries().isDesktop` * Refactor `SplashScreen` component for responsive design * Revision based on review results * Fix isNative check --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/view/com/post-thread/PostThread.tsx')
-rw-r--r-- | src/view/com/post-thread/PostThread.tsx | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/view/com/post-thread/PostThread.tsx b/src/view/com/post-thread/PostThread.tsx index 3c5d3a88d..7f6e9ca19 100644 --- a/src/view/com/post-thread/PostThread.tsx +++ b/src/view/com/post-thread/PostThread.tsx @@ -23,7 +23,7 @@ import {ViewHeader} from '../util/ViewHeader' import {ErrorMessage} from '../util/error/ErrorMessage' import {Text} from '../util/text/Text' import {s} from 'lib/styles' -import {isNative, isDesktopWeb} from 'platform/detection' +import {isNative} from 'platform/detection' import {usePalette} from 'lib/hooks/usePalette' import {useSetTitle} from 'lib/hooks/useSetTitle' import {useNavigation} from '@react-navigation/native' @@ -78,7 +78,7 @@ export const PostThread = observer(function PostThread({ treeView: boolean }) { const pal = usePalette('default') - const {isTablet} = useWebMediaQueries() + const {isTablet, isDesktop} = useWebMediaQueries() const ref = useRef<FlatList>(null) const hasScrolledIntoView = useRef<boolean>(false) const [isRefreshing, setIsRefreshing] = React.useState(false) @@ -189,7 +189,7 @@ export const PostThread = observer(function PostThread({ } else if (item === REPLY_PROMPT) { return ( <View> - {isDesktopWeb && <ComposePrompt onPressCompose={onPressReply} />} + {isDesktop && <ComposePrompt onPressCompose={onPressReply} />} </View> ) } else if (item === DELETED) { @@ -261,7 +261,20 @@ export const PostThread = observer(function PostThread({ } return <></> }, - [onRefresh, onPressReply, pal, posts, isTablet, treeView], + [ + isTablet, + isDesktop, + onPressReply, + pal.border, + pal.viewLight, + pal.textLight, + pal.view, + pal.text, + pal.colors.border, + posts, + onRefresh, + treeView, + ], ) // loading |