Reorganize custom feeds in the view layer
This commit is contained in:
parent
b672006f7e
commit
3d09008bfd
9 changed files with 11 additions and 15 deletions
|
@ -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
|
||||
}
|
|
@ -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: {
|
|
@ -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}
|
|
@ -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}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue