Remove remaining items
This commit is contained in:
@@ -1,19 +1,20 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {StyleProp, View, ViewStyle} from 'react-native'
|
import {type StyleProp, View, type ViewStyle} from 'react-native'
|
||||||
|
|
||||||
import {cleanError} from '#/lib/strings/errors'
|
import {cleanError} from '#/lib/strings/errors'
|
||||||
import {
|
import {
|
||||||
useResolveGifQuery,
|
useResolveGifQuery,
|
||||||
useResolveLinkQuery,
|
useResolveLinkQuery,
|
||||||
} from '#/state/queries/resolve-link'
|
} from '#/state/queries/resolve-link'
|
||||||
import {Gif} from '#/state/queries/tenor'
|
import {type Gif} from '#/state/queries/tenor'
|
||||||
import {ExternalEmbedRemoveBtn} from '#/view/com/composer/ExternalEmbedRemoveBtn'
|
import {ExternalEmbedRemoveBtn} from '#/view/com/composer/ExternalEmbedRemoveBtn'
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import {Loader} from '#/components/Loader'
|
import {Loader} from '#/components/Loader'
|
||||||
import {ExternalEmbed} from '#/components/Post/Embed/ExternalEmbed'
|
import {ExternalEmbed} from '#/components/Post/Embed/ExternalEmbed'
|
||||||
|
import {ModeratedFeedEmbed} from '#/components/Post/Embed/FeedEmbed'
|
||||||
|
import {ModeratedListEmbed} from '#/components/Post/Embed/ListEmbed'
|
||||||
import {Embed as StarterPackEmbed} from '#/components/StarterPack/StarterPackCard'
|
import {Embed as StarterPackEmbed} from '#/components/StarterPack/StarterPackCard'
|
||||||
import {Text} from '#/components/Typography'
|
import {Text} from '#/components/Typography'
|
||||||
import {MaybeFeedCard, MaybeListCard} from '../util/post-embeds'
|
|
||||||
|
|
||||||
export const ExternalEmbedGif = ({
|
export const ExternalEmbedGif = ({
|
||||||
onRemove,
|
onRemove,
|
||||||
@@ -91,9 +92,29 @@ export const ExternalEmbedLink = ({
|
|||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
} else if (data.kind === 'feed') {
|
} else if (data.kind === 'feed') {
|
||||||
return <MaybeFeedCard view={data.view} />
|
return (
|
||||||
|
<ModeratedFeedEmbed
|
||||||
|
embed={{
|
||||||
|
type: 'feed',
|
||||||
|
view: {
|
||||||
|
$type: 'app.bsky.feed.defs#generatorView',
|
||||||
|
...data.view,
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
)
|
||||||
} else if (data.kind === 'list') {
|
} else if (data.kind === 'list') {
|
||||||
return <MaybeListCard view={data.view} />
|
return (
|
||||||
|
<ModeratedListEmbed
|
||||||
|
embed={{
|
||||||
|
type: 'list',
|
||||||
|
view: {
|
||||||
|
$type: 'app.bsky.graph.defs#listView',
|
||||||
|
...data.view,
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
)
|
||||||
} else if (data.kind === 'starter-pack') {
|
} else if (data.kind === 'starter-pack') {
|
||||||
return <StarterPackEmbed starterPack={data.view} />
|
return <StarterPackEmbed starterPack={data.view} />
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,80 +0,0 @@
|
|||||||
import React from 'react'
|
|
||||||
import {StyleSheet, View} from 'react-native'
|
|
||||||
import {
|
|
||||||
type AppBskyFeedDefs,
|
|
||||||
type AppBskyGraphDefs,
|
|
||||||
moderateFeedGenerator,
|
|
||||||
moderateUserList,
|
|
||||||
} from '@atproto/api'
|
|
||||||
|
|
||||||
import {usePalette} from '#/lib/hooks/usePalette'
|
|
||||||
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
|
||||||
import {FeedSourceCard} from '#/view/com/feeds/FeedSourceCard'
|
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
|
||||||
import * as ListCard from '#/components/ListCard'
|
|
||||||
import {ContentHider} from '../../../../components/moderation/ContentHider'
|
|
||||||
|
|
||||||
export function MaybeFeedCard({view}: {view: AppBskyFeedDefs.GeneratorView}) {
|
|
||||||
const pal = usePalette('default')
|
|
||||||
const moderationOpts = useModerationOpts()
|
|
||||||
const moderation = React.useMemo(() => {
|
|
||||||
return moderationOpts
|
|
||||||
? moderateFeedGenerator(view, moderationOpts)
|
|
||||||
: undefined
|
|
||||||
}, [view, moderationOpts])
|
|
||||||
|
|
||||||
return (
|
|
||||||
<ContentHider modui={moderation?.ui('contentList')}>
|
|
||||||
<FeedSourceCard
|
|
||||||
feedUri={view.uri}
|
|
||||||
style={[pal.view, pal.border, styles.customFeedOuter]}
|
|
||||||
showLikes
|
|
||||||
/>
|
|
||||||
</ContentHider>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export function MaybeListCard({view}: {view: AppBskyGraphDefs.ListView}) {
|
|
||||||
const moderationOpts = useModerationOpts()
|
|
||||||
const moderation = React.useMemo(() => {
|
|
||||||
return moderationOpts ? moderateUserList(view, moderationOpts) : undefined
|
|
||||||
}, [view, moderationOpts])
|
|
||||||
const t = useTheme()
|
|
||||||
|
|
||||||
return (
|
|
||||||
<ContentHider modui={moderation?.ui('contentList')}>
|
|
||||||
<View
|
|
||||||
style={[
|
|
||||||
a.border,
|
|
||||||
t.atoms.border_contrast_medium,
|
|
||||||
a.p_md,
|
|
||||||
a.rounded_sm,
|
|
||||||
]}>
|
|
||||||
<ListCard.Default view={view} />
|
|
||||||
</View>
|
|
||||||
</ContentHider>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
|
||||||
altContainer: {
|
|
||||||
backgroundColor: 'rgba(0, 0, 0, 0.75)',
|
|
||||||
borderRadius: 6,
|
|
||||||
paddingHorizontal: 6,
|
|
||||||
paddingVertical: 3,
|
|
||||||
position: 'absolute',
|
|
||||||
right: 6,
|
|
||||||
bottom: 6,
|
|
||||||
},
|
|
||||||
alt: {
|
|
||||||
color: 'white',
|
|
||||||
fontSize: 7,
|
|
||||||
fontWeight: '600',
|
|
||||||
},
|
|
||||||
customFeedOuter: {
|
|
||||||
borderWidth: StyleSheet.hairlineWidth,
|
|
||||||
borderRadius: 8,
|
|
||||||
paddingHorizontal: 12,
|
|
||||||
paddingVertical: 12,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
Reference in New Issue
Block a user