diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-09-05 10:42:19 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-05 10:42:19 -0700 |
commit | 764c7cd5694a41c98d8543b68d7791fa90db4291 (patch) | |
tree | 8a11af0aa0e898cf7fb57ab0354f9fb5d28f004e /src/view/com/util/post-embeds/ExternalLinkEmbed.tsx | |
parent | be8084ae103064d5680485f25e202c763957f2b4 (diff) | |
download | voidsky-764c7cd5694a41c98d8543b68d7791fa90db4291.tar.zst |
Updates to use dynamic/responsive styles on web (#1351)
* Move most responsive queries to the hook * Fix invalid CSS value * Fixes to tablet render of post thread * Fix overflow issues on web * Fix search header on tablet * Fix QP margin in web composer * Fix: only apply double gutter once to flatlist (close #1368) * Fix styles on discover feeds header * Fix double discover links in multifeed
Diffstat (limited to 'src/view/com/util/post-embeds/ExternalLinkEmbed.tsx')
-rw-r--r-- | src/view/com/util/post-embeds/ExternalLinkEmbed.tsx | 63 |
1 files changed, 33 insertions, 30 deletions
diff --git a/src/view/com/util/post-embeds/ExternalLinkEmbed.tsx b/src/view/com/util/post-embeds/ExternalLinkEmbed.tsx index 81f1ca560..d5bb38fb2 100644 --- a/src/view/com/util/post-embeds/ExternalLinkEmbed.tsx +++ b/src/view/com/util/post-embeds/ExternalLinkEmbed.tsx @@ -3,8 +3,8 @@ import {Image} from 'expo-image' import {Text} from '../text/Text' import {StyleSheet, View} from 'react-native' import {usePalette} from 'lib/hooks/usePalette' +import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {AppBskyEmbedExternal} from '@atproto/api' -import {isDesktopWeb} from 'platform/detection' import {toNiceDomain} from 'lib/strings/url-helpers' export const ExternalLinkEmbed = ({ @@ -15,10 +15,31 @@ export const ExternalLinkEmbed = ({ imageChild?: React.ReactNode }) => { const pal = usePalette('default') + const {isMobile} = useWebMediaQueries() return ( - <View style={styles.extContainer}> + <View + style={{ + flexDirection: isMobile ? 'column' : 'row', + }}> {link.thumb ? ( - <View style={styles.extImageContainer}> + <View + style={ + !isMobile + ? { + borderTopLeftRadius: 6, + borderBottomLeftRadius: 6, + width: 120, + aspectRatio: 1, + overflow: 'hidden', + } + : { + borderTopLeftRadius: 6, + borderTopRightRadius: 6, + width: '100%', + height: 200, + overflow: 'hidden', + } + }> <Image style={styles.extImage} source={{uri: link.thumb}} @@ -27,7 +48,13 @@ export const ExternalLinkEmbed = ({ {imageChild} </View> ) : undefined} - <View style={styles.extInner}> + <View + style={{ + paddingHorizontal: isMobile ? 10 : 14, + paddingTop: 8, + paddingBottom: 10, + flex: !isMobile ? 1 : undefined, + }}> <Text type="sm" numberOfLines={1} @@ -36,14 +63,14 @@ export const ExternalLinkEmbed = ({ </Text> <Text type="lg-bold" - numberOfLines={isDesktopWeb ? 2 : 4} + numberOfLines={isMobile ? 4 : 2} style={[pal.text]}> {link.title || link.uri} </Text> {link.description ? ( <Text type="md" - numberOfLines={isDesktopWeb ? 2 : 4} + numberOfLines={isMobile ? 4 : 2} style={[pal.text, styles.extDescription]}> {link.description} </Text> @@ -54,30 +81,6 @@ export const ExternalLinkEmbed = ({ } const styles = StyleSheet.create({ - extContainer: { - flexDirection: isDesktopWeb ? 'row' : 'column', - }, - extInner: { - paddingHorizontal: isDesktopWeb ? 14 : 10, - paddingTop: 8, - paddingBottom: 10, - flex: isDesktopWeb ? 1 : undefined, - }, - extImageContainer: isDesktopWeb - ? { - borderTopLeftRadius: 6, - borderBottomLeftRadius: 6, - width: 120, - aspectRatio: 1, - overflow: 'hidden', - } - : { - borderTopLeftRadius: 6, - borderTopRightRadius: 6, - width: '100%', - height: 200, - overflow: 'hidden', - }, extImage: { width: '100%', height: 200, |