about summary refs log tree commit diff
path: root/src/view/com/util/post-embeds/CustomFeedEmbed.tsx
blob: 62415743668df9dd91b7d93469a3d5273df9ae13 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import React, {useMemo} from 'react'
import {AppBskyFeedDefs} from '@atproto/api'
import {usePalette} from 'lib/hooks/usePalette'
import {StyleSheet} from 'react-native'
import {useStores} from 'state/index'
import {FeedSourceModel} from 'state/models/content/feed-source'
import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard'

export function CustomFeedEmbed({
  record,
}: {
  record: AppBskyFeedDefs.GeneratorView
}) {
  const pal = usePalette('default')
  const store = useStores()
  const item = useMemo(() => {
    const model = new FeedSourceModel(store, record.uri)
    model.hydrateFeedGenerator(record)
    return model
  }, [store, record])
  return (
    <FeedSourceCard
      item={item}
      style={[pal.view, pal.border, styles.customFeedOuter]}
      showLikes
    />
  )
}

const styles = StyleSheet.create({
  customFeedOuter: {
    borderWidth: 1,
    borderRadius: 8,
    marginTop: 4,
    paddingHorizontal: 12,
    paddingVertical: 12,
  },
})