Reorganize custom feeds in the view layer

This commit is contained in:
Paul Frazee 2023-05-17 14:03:08 -05:00
parent b672006f7e
commit 3d09008bfd
9 changed files with 11 additions and 15 deletions

View file

@ -1,27 +0,0 @@
import {useEffect, useState} from 'react'
import {useStores} from 'state/index'
import {CustomFeedModel} from 'state/models/feeds/custom-feed'
export function useCustomFeed(uri: string) {
const store = useStores()
const [item, setItem] = useState<CustomFeedModel>()
useEffect(() => {
async function fetchView() {
const res = await store.agent.app.bsky.feed.getFeedGenerator({
feed: uri,
})
const view = res.data.view
return view
}
async function buildFeedItem() {
const view = await fetchView()
if (view) {
const temp = new CustomFeedModel(store, view)
setItem(temp)
}
}
buildFeedItem()
}, [store, uri])
return item
}

View file

@ -21,7 +21,7 @@ import {pluralize} from 'lib/strings/helpers'
import {AtUri} from '@atproto/api'
import {isWeb} from 'platform/detection'
const AlgoItem = observer(
const CustomFeed = observer(
({
item,
style,
@ -112,7 +112,7 @@ const AlgoItem = observer(
)
},
)
export default AlgoItem
export default CustomFeed
const styles = StyleSheet.create({
container: {

View file

@ -5,7 +5,7 @@ import {colors} from 'lib/styles'
import {observer} from 'mobx-react-lite'
import {CustomFeedModel} from 'state/models/feeds/custom-feed'
import {SavedFeedsModel} from 'state/models/ui/saved-feeds'
import AlgoItem from './AlgoItem'
import CustomFeed from './CustomFeed'
export const SavedFeedItem = observer(
({
@ -19,7 +19,7 @@ export const SavedFeedItem = observer(
return (
<View style={styles.itemContainer}>
<AlgoItem
<CustomFeed
key={item.data.uri}
item={item}
showBottom={false}

View file

@ -25,7 +25,7 @@ import {ExternalLinkEmbed} from './ExternalLinkEmbed'
import {getYoutubeVideoId} from 'lib/strings/url-helpers'
import QuoteEmbed from './QuoteEmbed'
import {AutoSizedImage} from '../images/AutoSizedImage'
import AlgoItem from 'view/com/algos/AlgoItem'
import CustomFeed from 'view/com/feeds/CustomFeed'
import {CustomFeedModel} from 'state/models/feeds/custom-feed'
type Embed =
@ -171,7 +171,7 @@ export function PostEmbeds({
AppBskyFeedDefs.isGeneratorView(embed.record)
) {
return (
<AlgoItem
<CustomFeed
item={new CustomFeedModel(store, embed.record)}
style={[pal.view, pal.border, styles.extOuter]}
reloadOnFocus={true}