From ebc2033d186af6cf81f9533082857ee4a8fa6822 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Wed, 18 Jan 2023 16:45:48 -0600 Subject: Handle post deletions by removing from active views (close #37) --- src/state/models/post-thread-view.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/state/models/post-thread-view.ts') 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) } } @@ -229,6 +230,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 */ @@ -246,6 +255,13 @@ export class PostThreadViewModel { this._load() } + /** + * Refreshes when posts are deleted + */ + onPostDeleted(_uri: string) { + this.refresh() + } + // state transitions // = -- cgit 1.4.1