about summary refs log tree commit diff
path: root/src/state/models/feeds/algo/algo-item.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/state/models/feeds/algo/algo-item.ts')
-rw-r--r--src/state/models/feeds/algo/algo-item.ts142
1 files changed, 0 insertions, 142 deletions
diff --git a/src/state/models/feeds/algo/algo-item.ts b/src/state/models/feeds/algo/algo-item.ts
deleted file mode 100644
index bd4ea4fd6..000000000
--- a/src/state/models/feeds/algo/algo-item.ts
+++ /dev/null
@@ -1,142 +0,0 @@
-import {AppBskyFeedDefs, AtUri} from '@atproto/api'
-import {makeAutoObservable} from 'mobx'
-import {RootStoreModel} from 'state/models/root-store'
-
-export class AlgoItemModel {
-  // data
-  data: AppBskyFeedDefs.GeneratorView
-
-  constructor(
-    public rootStore: RootStoreModel,
-    view: AppBskyFeedDefs.GeneratorView,
-  ) {
-    this.data = view
-    makeAutoObservable(
-      this,
-      {
-        rootStore: false,
-      },
-      {autoBind: true},
-    )
-  }
-
-  // local actions
-  // =
-  set toggleSaved(value: boolean) {
-    console.log('toggleSaved', this.data.viewer)
-    if (this.data.viewer) {
-      this.data.viewer.saved = value
-    }
-  }
-
-  get getUri() {
-    return this.data.uri
-  }
-
-  get isSaved() {
-    return this.data.viewer?.saved
-  }
-
-  get isLiked() {
-    return this.data.viewer?.like
-  }
-
-  private toggleLiked(s?: string) {
-    if (this.data.viewer) {
-      if (this.data.viewer.like) {
-        this.data.viewer.like = undefined
-      } else {
-        this.data.viewer.like = s
-      }
-    }
-  }
-
-  private incrementLike() {
-    if (this.data.likeCount) {
-      this.data.likeCount += 1
-    } else {
-      this.data.likeCount = 1
-    }
-  }
-
-  private decrementLike() {
-    if (this.data.likeCount) {
-      this.data.likeCount -= 1
-    } else {
-      this.data.likeCount = 0
-    }
-  }
-
-  private rewriteData(data: AppBskyFeedDefs.GeneratorView) {
-    this.data = data
-  }
-
-  // public apis
-  // =
-  async like() {
-    try {
-      const res = await this.rootStore.agent.app.bsky.feed.like.create(
-        {
-          repo: this.rootStore.me.did,
-        },
-        {
-          subject: {
-            uri: this.data.uri,
-            cid: this.data.cid,
-          },
-          createdAt: new Date().toISOString(),
-        },
-      )
-      this.toggleLiked(res.uri)
-      this.incrementLike()
-    } catch (e: any) {
-      this.rootStore.log.error('Failed to like feed', e)
-    }
-  }
-
-  async unlike() {
-    try {
-      await this.rootStore.agent.app.bsky.feed.like.delete({
-        repo: this.rootStore.me.did,
-        rkey: new AtUri(this.data.viewer?.like!).rkey,
-      })
-      this.toggleLiked()
-      this.decrementLike()
-    } catch (e: any) {
-      this.rootStore.log.error('Failed to unlike feed', e)
-    }
-  }
-
-  static async getView(store: RootStoreModel, uri: string) {
-    const res = await store.agent.app.bsky.feed.getFeedGenerator({
-      feed: uri,
-    })
-    const view = res.data.view
-    return view
-  }
-
-  async checkIsValid() {
-    const res = await this.rootStore.agent.app.bsky.feed.getFeedGenerator({
-      feed: this.data.uri,
-    })
-    return res.data.isValid
-  }
-
-  async checkIsOnline() {
-    const res = await this.rootStore.agent.app.bsky.feed.getFeedGenerator({
-      feed: this.data.uri,
-    })
-    return res.data.isOnline
-  }
-
-  async reload() {
-    const res = await this.rootStore.agent.app.bsky.feed.getFeedGenerator({
-      feed: this.data.uri,
-    })
-    this.rewriteData(res.data.view)
-  }
-
-  serialize() {
-    return JSON.stringify(this.data)
-  }
-}