diff options
Diffstat (limited to 'src/state/models/post-thread-view.ts')
-rw-r--r-- | src/state/models/post-thread-view.ts | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/state/models/post-thread-view.ts b/src/state/models/post-thread-view.ts index 1fc188723..584658e14 100644 --- a/src/state/models/post-thread-view.ts +++ b/src/state/models/post-thread-view.ts @@ -173,6 +173,7 @@ export class PostThreadViewPostModel { did: this.post.author.did, rkey: new AtUri(this.post.uri).rkey, }) + this.rootStore.emitPostDeleted(this.post.uri) } } @@ -230,6 +231,14 @@ export class PostThreadViewModel { } /** + * Register any event listeners. Returns a cleanup function. + */ + registerListeners() { + const sub = this.rootStore.onPostDeleted(this.onPostDeleted.bind(this)) + return () => sub.remove() + } + + /** * Reset and load */ async refresh() { @@ -246,6 +255,13 @@ export class PostThreadViewModel { this._load() } + /** + * Refreshes when posts are deleted + */ + onPostDeleted(_uri: string) { + this.refresh() + } + // state transitions // = |