Moderate post embeds
This commit is contained in:
@@ -15,6 +15,8 @@ import {
|
|||||||
AppBskyEmbedRecordWithMedia,
|
AppBskyEmbedRecordWithMedia,
|
||||||
AppBskyFeedDefs,
|
AppBskyFeedDefs,
|
||||||
AppBskyGraphDefs,
|
AppBskyGraphDefs,
|
||||||
|
moderateFeedGenerator,
|
||||||
|
moderateUserList,
|
||||||
ModerationDecision,
|
ModerationDecision,
|
||||||
} from '@atproto/api'
|
} from '@atproto/api'
|
||||||
|
|
||||||
@@ -30,6 +32,7 @@ import {ListEmbed} from './ListEmbed'
|
|||||||
import {MaybeQuoteEmbed} from './QuoteEmbed'
|
import {MaybeQuoteEmbed} from './QuoteEmbed'
|
||||||
import hairlineWidth = StyleSheet.hairlineWidth
|
import hairlineWidth = StyleSheet.hairlineWidth
|
||||||
import {useLargeAltBadgeEnabled} from '#/state/preferences/large-alt-badge'
|
import {useLargeAltBadgeEnabled} from '#/state/preferences/large-alt-badge'
|
||||||
|
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
||||||
import {Embed as StarterPackCard} from '#/components/StarterPack/StarterPackCard'
|
import {Embed as StarterPackCard} from '#/components/StarterPack/StarterPackCard'
|
||||||
|
|
||||||
type Embed =
|
type Embed =
|
||||||
@@ -55,6 +58,7 @@ export function PostEmbeds({
|
|||||||
const pal = usePalette('default')
|
const pal = usePalette('default')
|
||||||
const {openLightbox} = useLightboxControls()
|
const {openLightbox} = useLightboxControls()
|
||||||
const largeAltBadge = useLargeAltBadgeEnabled()
|
const largeAltBadge = useLargeAltBadgeEnabled()
|
||||||
|
const moderationOpts = useModerationOpts()
|
||||||
|
|
||||||
// quote post with media
|
// quote post with media
|
||||||
// =
|
// =
|
||||||
@@ -75,20 +79,30 @@ export function PostEmbeds({
|
|||||||
// custom feed embed (i.e. generator view)
|
// custom feed embed (i.e. generator view)
|
||||||
// =
|
// =
|
||||||
if (AppBskyFeedDefs.isGeneratorView(embed.record)) {
|
if (AppBskyFeedDefs.isGeneratorView(embed.record)) {
|
||||||
// TODO moderation
|
const moderation = moderationOpts
|
||||||
|
? moderateFeedGenerator(embed.record, moderationOpts)
|
||||||
|
: undefined
|
||||||
return (
|
return (
|
||||||
<FeedSourceCard
|
<ContentHider modui={moderation?.ui('contentList')}>
|
||||||
feedUri={embed.record.uri}
|
<FeedSourceCard
|
||||||
style={[pal.view, pal.border, styles.customFeedOuter]}
|
feedUri={embed.record.uri}
|
||||||
showLikes
|
style={[pal.view, pal.border, styles.customFeedOuter]}
|
||||||
/>
|
showLikes
|
||||||
|
/>
|
||||||
|
</ContentHider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// list embed
|
// list embed
|
||||||
if (AppBskyGraphDefs.isListView(embed.record)) {
|
if (AppBskyGraphDefs.isListView(embed.record)) {
|
||||||
// TODO moderation
|
const moderation = moderationOpts
|
||||||
return <ListEmbed item={embed.record} />
|
? moderateUserList(embed.record, moderationOpts)
|
||||||
|
: undefined
|
||||||
|
return (
|
||||||
|
<ContentHider modui={moderation?.ui('contentList')}>
|
||||||
|
<ListEmbed item={embed.record} />
|
||||||
|
</ContentHider>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AppBskyGraphDefs.isStarterPackViewBasic(embed.record)) {
|
if (AppBskyGraphDefs.isStarterPackViewBasic(embed.record)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user