diff options
author | Hailey <153161762+haileyok@users.noreply.github.com> | 2023-12-21 14:33:46 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-21 14:33:46 -0800 |
commit | fedb94dd70903ba5b653bd7fc76800ddb1f2bc4d (patch) | |
tree | 5d52c8b5cc4eddf023f56d7b74695c48e7cbe8be /src/view/com/util/post-embeds/YoutubeEmbed.tsx | |
parent | 7ab188dc1f316599ad6f5ecf5d15231c03547fa8 (diff) | |
download | voidsky-fedb94dd70903ba5b653bd7fc76800ddb1f2bc4d.tar.zst |
3rd party embed player (#2217)
* Implement embed player for YT, spotify, and twitch * fix: handle blur event * fix: use video dimensions for twitch * fix: remove hack (?) * fix: remove origin whitelist (?) * fix: prevent ads from opening in browser * fix: handle embeds that don't have a thumb * feat: handle dark/light mode * fix: ts warning * fix: adjust height of no-thumb label * fix: adjust height of no-thumb label * fix: remove debug log, set collapsable to false for player view * fix: fix dimensions "flash" * chore: remove old youtube link test * tests: add tests * fix: thumbless embed position when loading * fix: remove background from webview * cleanup embeds (almost) * more refactoring - Use separate layers for player and overlay to prevent weird sizing issues - Be sure the image is not visible under the player - Clean up some * cleanup styles * parse youtube shorts urls * remove debug * add soundcloud tracks and sets (playlists) * move logic into `ExternalLinkEmbed` * border radius for yt player on native * fix styling on web * allow scrolling in webview on android * remove unnecessary check * autoplay yt on web * fix tests after adding autoplay * move `useNavigation` to top of component --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/view/com/util/post-embeds/YoutubeEmbed.tsx')
-rw-r--r-- | src/view/com/util/post-embeds/YoutubeEmbed.tsx | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/view/com/util/post-embeds/YoutubeEmbed.tsx b/src/view/com/util/post-embeds/YoutubeEmbed.tsx deleted file mode 100644 index 2f2da5662..000000000 --- a/src/view/com/util/post-embeds/YoutubeEmbed.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import React from 'react' -import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native' -import {usePalette} from 'lib/hooks/usePalette' -import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' -import {ExternalLinkEmbed} from './ExternalLinkEmbed' -import {AppBskyEmbedExternal} from '@atproto/api' -import {Link} from '../Link' - -export const YoutubeEmbed = ({ - link, - style, -}: { - link: AppBskyEmbedExternal.ViewExternal - style?: StyleProp<ViewStyle> -}) => { - const pal = usePalette('default') - - const imageChild = ( - <View style={styles.playButton}> - <FontAwesomeIcon icon="play" size={24} color="white" /> - </View> - ) - - return ( - <Link - asAnchor - style={[styles.extOuter, pal.view, pal.border, style]} - href={link.uri}> - <ExternalLinkEmbed link={link} imageChild={imageChild} /> - </Link> - ) -} - -const styles = StyleSheet.create({ - extOuter: { - borderWidth: 1, - borderRadius: 8, - }, - playButton: { - position: 'absolute', - alignSelf: 'center', - alignItems: 'center', - top: '44%', - justifyContent: 'center', - backgroundColor: 'black', - padding: 10, - borderRadius: 50, - opacity: 0.8, - }, - webView: { - alignItems: 'center', - alignContent: 'center', - justifyContent: 'center', - }, -}) |