diff options
author | Ansh Nanda <anshnanda10@gmail.com> | 2023-05-15 12:31:27 -0700 |
---|---|---|
committer | Ansh Nanda <anshnanda10@gmail.com> | 2023-05-15 12:31:27 -0700 |
commit | 6249bb16cad1dbcf1930282e564595817735932f (patch) | |
tree | 013a5546baa5a1b37dd0a08982ebb51fb8232dc2 /src/state/models/feeds/algo/saved.ts | |
parent | d7e39bde12e05ccc31b2cdbdfa214c0a8e08fc54 (diff) | |
download | voidsky-6249bb16cad1dbcf1930282e564595817735932f.tar.zst |
remove tab bar underline animation
Diffstat (limited to 'src/state/models/feeds/algo/saved.ts')
-rw-r--r-- | src/state/models/feeds/algo/saved.ts | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/state/models/feeds/algo/saved.ts b/src/state/models/feeds/algo/saved.ts index bc36aaed8..5d2f854dc 100644 --- a/src/state/models/feeds/algo/saved.ts +++ b/src/state/models/feeds/algo/saved.ts @@ -89,6 +89,36 @@ export class SavedFeedsModel { } }) + removeFeed(uri: string) { + this.feeds = this.feeds.filter(f => f.data.uri !== uri) + } + + addFeed(algoItem: AlgoItemModel) { + this.feeds.push(new AlgoItemModel(this.rootStore, algoItem.data)) + } + + async save(algoItem: AlgoItemModel) { + try { + await this.rootStore.agent.app.bsky.feed.saveFeed({ + feed: algoItem.getUri, + }) + this.addFeed(algoItem) + } catch (e: any) { + this.rootStore.log.error('Failed to save feed', e) + } + } + + async unsave(uri: string) { + try { + await this.rootStore.agent.app.bsky.feed.unsaveFeed({ + feed: uri, + }) + this.removeFeed(uri) + } catch (e: any) { + this.rootStore.log.error('Failed to unsanve feed', e) + } + } + // state transitions // = |