diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-01-18 16:45:48 -0600 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2023-01-18 16:45:48 -0600 |
commit | ebc2033d186af6cf81f9533082857ee4a8fa6822 (patch) | |
tree | e3438b8bb28d8b8459a6f6346f363628d8cdc623 /src/view | |
parent | ace0e6bfd963305c140ecc97d9e82b749066a394 (diff) | |
download | voidsky-ebc2033d186af6cf81f9533082857ee4a8fa6822.tar.zst |
Handle post deletions by removing from active views (close #37)
Diffstat (limited to 'src/view')
-rw-r--r-- | src/view/com/post-thread/PostThreadItem.tsx | 2 | ||||
-rw-r--r-- | src/view/screens/Home.tsx | 2 | ||||
-rw-r--r-- | src/view/screens/PostThread.tsx | 4 | ||||
-rw-r--r-- | src/view/screens/Profile.tsx | 4 |
4 files changed, 9 insertions, 3 deletions
diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx index cbd6f86b8..46512e758 100644 --- a/src/view/com/post-thread/PostThreadItem.tsx +++ b/src/view/com/post-thread/PostThreadItem.tsx @@ -102,7 +102,7 @@ export const PostThreadItem = observer(function PostThreadItem({ if (deleted) { return ( - <View style={[styles.outer, pal.view, s.p20, s.flexRow]}> + <View style={[styles.outer, pal.border, pal.view, s.p20, s.flexRow]}> <FontAwesomeIcon icon={['far', 'trash-can']} style={{color: pal.colors.icon}} diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index cfbf82efc..25d68c02e 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -46,9 +46,11 @@ export const Home = observer(function Home({ ) useEffect(() => { + const feedCleanup = store.me.mainFeed.registerListeners() const pollInterval = setInterval(() => doPoll(), 15e3) const cleanup = () => { clearInterval(pollInterval) + feedCleanup() } if (!visible) { diff --git a/src/view/screens/PostThread.tsx b/src/view/screens/PostThread.tsx index eb8ac9eb4..c14c93af0 100644 --- a/src/view/screens/PostThread.tsx +++ b/src/view/screens/PostThread.tsx @@ -25,8 +25,9 @@ export const PostThread = ({navIdx, visible, params}: ScreenParams) => { } useEffect(() => { let aborted = false + const threadCleanup = view.registerListeners() if (!visible) { - return + return threadCleanup } setTitle() store.shell.setMinimalShellMode(false) @@ -44,6 +45,7 @@ export const PostThread = ({navIdx, visible, params}: ScreenParams) => { } return () => { aborted = true + threadCleanup() } }, [visible, store.nav, store.log, name]) diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx index a3e3ecd33..d701fba0d 100644 --- a/src/view/screens/Profile.tsx +++ b/src/view/screens/Profile.tsx @@ -31,8 +31,9 @@ export const Profile = observer(({navIdx, visible, params}: ScreenParams) => { useEffect(() => { let aborted = false + const feedCleanup = uiState.feed.registerListeners() if (!visible) { - return + return feedCleanup } if (hasSetup) { uiState.update() @@ -45,6 +46,7 @@ export const Profile = observer(({navIdx, visible, params}: ScreenParams) => { } return () => { aborted = true + feedCleanup() } }, [visible, params.name, store]) |