Add post embeds (images and external links)
This commit is contained in:
parent
345ec83f26
commit
4966b2152e
30 changed files with 936 additions and 242 deletions
|
@ -49,6 +49,7 @@ export class FeedItemModel implements GetTimeline.FeedItem {
|
|||
repostedBy?: ActorRef.WithInfo
|
||||
trendedBy?: ActorRef.WithInfo
|
||||
record: Record<string, unknown> = {}
|
||||
embed?: GetTimeline.FeedItem['embed']
|
||||
replyCount: number = 0
|
||||
repostCount: number = 0
|
||||
upvoteCount: number = 0
|
||||
|
@ -78,6 +79,7 @@ export class FeedItemModel implements GetTimeline.FeedItem {
|
|||
this.repostedBy = v.repostedBy
|
||||
this.trendedBy = v.trendedBy
|
||||
this.record = v.record
|
||||
this.embed = v.embed
|
||||
this.replyCount = v.replyCount
|
||||
this.repostCount = v.repostCount
|
||||
this.upvoteCount = v.upvoteCount
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import {makeAutoObservable, runInAction} from 'mobx'
|
||||
import {AppBskyFeedGetPostThread as GetPostThread} from '../../third-party/api'
|
||||
import * as Embed from '../../third-party/api/src/client/types/app/bsky/feed/embed'
|
||||
import * as ActorRef from '../../third-party/api/src/client/types/app/bsky/actor/ref'
|
||||
import {AtUri} from '../../third-party/uri'
|
||||
import _omit from 'lodash.omit'
|
||||
|
@ -60,7 +59,7 @@ export class PostThreadViewPostModel implements GetPostThread.Post {
|
|||
declaration: {cid: '', actorType: ''},
|
||||
}
|
||||
record: Record<string, unknown> = {}
|
||||
embed?: Embed.Main = undefined
|
||||
embed?: GetPostThread.Post['embed'] = undefined
|
||||
parent?: PostThreadViewPostModel
|
||||
replyCount: number = 0
|
||||
replies?: PostThreadViewPostModel[]
|
||||
|
|
|
@ -58,6 +58,13 @@ export class ProfileImageLightbox {
|
|||
}
|
||||
}
|
||||
|
||||
export class ImageLightbox {
|
||||
name = 'image'
|
||||
constructor(public uri: string) {
|
||||
makeAutoObservable(this)
|
||||
}
|
||||
}
|
||||
|
||||
export interface ComposerOptsPostRef {
|
||||
uri: string
|
||||
cid: string
|
||||
|
@ -84,7 +91,7 @@ export class ShellUiModel {
|
|||
| ServerInputModal
|
||||
| undefined
|
||||
isLightboxActive = false
|
||||
activeLightbox: ProfileImageLightbox | undefined
|
||||
activeLightbox: ProfileImageLightbox | ImageLightbox | undefined
|
||||
isComposerActive = false
|
||||
composerOpts: ComposerOpts | undefined
|
||||
|
||||
|
@ -116,7 +123,7 @@ export class ShellUiModel {
|
|||
this.activeModal = undefined
|
||||
}
|
||||
|
||||
openLightbox(lightbox: ProfileImageLightbox) {
|
||||
openLightbox(lightbox: ProfileImageLightbox | ImageLightbox) {
|
||||
this.isLightboxActive = true
|
||||
this.activeLightbox = lightbox
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue