Merge pull request #8876 from internet-development/caidanw/app-1399-trending-videos-icon-missing
[APP-1399] trending videos icon missing
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import React, {useEffect} from 'react'
|
import {useCallback, useEffect, useMemo} from 'react'
|
||||||
import {ScrollView, View} from 'react-native'
|
import {ScrollView, View} from 'react-native'
|
||||||
import {AppBskyEmbedVideo, AtUri} from '@atproto/api'
|
import {AppBskyEmbedVideo, AtUri} from '@atproto/api'
|
||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
@@ -55,7 +55,7 @@ export function TrendingVideos() {
|
|||||||
const {setTrendingVideoDisabled} = useTrendingSettingsApi()
|
const {setTrendingVideoDisabled} = useTrendingSettingsApi()
|
||||||
const trendingPrompt = Prompt.usePromptControl()
|
const trendingPrompt = Prompt.usePromptControl()
|
||||||
|
|
||||||
const onConfirmHide = React.useCallback(() => {
|
const onConfirmHide = useCallback(() => {
|
||||||
setTrendingVideoDisabled(true)
|
setTrendingVideoDisabled(true)
|
||||||
logEvent('trendingVideos:hide', {context: 'interstitial:discover'})
|
logEvent('trendingVideos:hide', {context: 'interstitial:discover'})
|
||||||
}, [setTrendingVideoDisabled])
|
}, [setTrendingVideoDisabled])
|
||||||
@@ -147,9 +147,7 @@ function VideoCards({
|
|||||||
}: {
|
}: {
|
||||||
data: Exclude<ReturnType<typeof usePostFeedQuery>['data'], undefined>
|
data: Exclude<ReturnType<typeof usePostFeedQuery>['data'], undefined>
|
||||||
}) {
|
}) {
|
||||||
const t = useTheme()
|
const items = useMemo(() => {
|
||||||
const {_} = useLingui()
|
|
||||||
const items = React.useMemo(() => {
|
|
||||||
return data.pages
|
return data.pages
|
||||||
.flatMap(page => page.slices)
|
.flatMap(page => page.slices)
|
||||||
.map(slice => slice.items[0])
|
.map(slice => slice.items[0])
|
||||||
@@ -157,10 +155,6 @@ function VideoCards({
|
|||||||
.filter(item => AppBskyEmbedVideo.isView(item.post.embed))
|
.filter(item => AppBskyEmbedVideo.isView(item.post.embed))
|
||||||
.slice(0, 8)
|
.slice(0, 8)
|
||||||
}, [data])
|
}, [data])
|
||||||
const href = React.useMemo(() => {
|
|
||||||
const urip = new AtUri(VIDEO_FEED_URI)
|
|
||||||
return makeCustomFeedLink(urip.host, urip.rkey, undefined, 'discover')
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -183,50 +177,58 @@ function VideoCards({
|
|||||||
</View>
|
</View>
|
||||||
))}
|
))}
|
||||||
|
|
||||||
<View style={[{width: CARD_WIDTH * 2}]}>
|
<ViewMoreCard />
|
||||||
<Link
|
|
||||||
to={href}
|
|
||||||
label={_(msg`View more`)}
|
|
||||||
style={[
|
|
||||||
a.justify_center,
|
|
||||||
a.align_center,
|
|
||||||
a.flex_1,
|
|
||||||
a.rounded_lg,
|
|
||||||
a.border,
|
|
||||||
t.atoms.border_contrast_low,
|
|
||||||
t.atoms.bg,
|
|
||||||
t.atoms.shadow_sm,
|
|
||||||
]}>
|
|
||||||
{({pressed}) => (
|
|
||||||
<View
|
|
||||||
style={[
|
|
||||||
a.flex_row,
|
|
||||||
a.align_center,
|
|
||||||
a.gap_md,
|
|
||||||
{
|
|
||||||
opacity: pressed ? 0.6 : 1,
|
|
||||||
},
|
|
||||||
]}>
|
|
||||||
<Text style={[a.text_md]}>
|
|
||||||
<Trans>View more</Trans>
|
|
||||||
</Text>
|
|
||||||
<View
|
|
||||||
style={[
|
|
||||||
a.align_center,
|
|
||||||
a.justify_center,
|
|
||||||
a.rounded_full,
|
|
||||||
{
|
|
||||||
width: 34,
|
|
||||||
height: 34,
|
|
||||||
backgroundColor: t.palette.primary_500,
|
|
||||||
},
|
|
||||||
]}>
|
|
||||||
<ButtonIcon icon={ChevronRight} />
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
</View>
|
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ViewMoreCard() {
|
||||||
|
const t = useTheme()
|
||||||
|
const {_} = useLingui()
|
||||||
|
|
||||||
|
const href = useMemo(() => {
|
||||||
|
const urip = new AtUri(VIDEO_FEED_URI)
|
||||||
|
return makeCustomFeedLink(urip.host, urip.rkey, undefined, 'discover')
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
return (
|
||||||
|
<View style={[{width: CARD_WIDTH * 2}]}>
|
||||||
|
<Link
|
||||||
|
to={href}
|
||||||
|
label={_(msg`View more`)}
|
||||||
|
style={[
|
||||||
|
a.justify_center,
|
||||||
|
a.align_center,
|
||||||
|
a.flex_1,
|
||||||
|
a.rounded_lg,
|
||||||
|
a.border,
|
||||||
|
t.atoms.border_contrast_low,
|
||||||
|
t.atoms.bg,
|
||||||
|
t.atoms.shadow_sm,
|
||||||
|
]}>
|
||||||
|
{({pressed}) => (
|
||||||
|
<View
|
||||||
|
style={[
|
||||||
|
a.flex_row,
|
||||||
|
a.align_center,
|
||||||
|
a.gap_md,
|
||||||
|
{
|
||||||
|
opacity: pressed ? 0.6 : 1,
|
||||||
|
},
|
||||||
|
]}>
|
||||||
|
<Text style={[a.text_md]}>
|
||||||
|
<Trans>View more</Trans>
|
||||||
|
</Text>
|
||||||
|
<Button
|
||||||
|
color="primary"
|
||||||
|
size="small"
|
||||||
|
shape="round"
|
||||||
|
label={_(msg`View more trending videos`)}>
|
||||||
|
<ButtonIcon icon={ChevronRight} />
|
||||||
|
</Button>
|
||||||
|
</View>
|
||||||
|
)}
|
||||||
|
</Link>
|
||||||
|
</View>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user