Manage state per channel. Closes #2

This commit is contained in:
Paul
2021-08-07 20:43:08 +01:00
parent c357e045e9
commit 0d415b4d5b
14 changed files with 392 additions and 404 deletions

View File

@@ -16,7 +16,7 @@ import { internalEmit, internalSubscribe } from "../../../lib/eventEmitter";
import { useTranslation } from "../../../lib/i18n";
import { isTouchscreenDevice } from "../../../lib/isTouchscreenDevice";
import {
SingletonMessageRenderer,
getRenderer,
SMOOTH_SCROLL_ON_RECEIVE,
} from "../../../lib/renderer/Singleton";
@@ -122,6 +122,8 @@ export default observer(({ channel }: Props) => {
const client = useContext(AppContext);
const translate = useTranslation();
const renderer = getRenderer(channel);
if (!(channel.permission & ChannelPermission.SendMessage)) {
return (
<Base>
@@ -213,12 +215,7 @@ export default observer(({ channel }: Props) => {
},
});
defer(() =>
SingletonMessageRenderer.jumpToBottom(
channel._id,
SMOOTH_SCROLL_ON_RECEIVE,
),
);
defer(() => renderer.jumpToBottom(SMOOTH_SCROLL_ON_RECEIVE));
try {
await channel.sendMessage({
@@ -405,7 +402,7 @@ export default observer(({ channel }: Props) => {
}}
/>
<ReplyBar
channel={channel._id}
channel={channel}
replies={replies}
setReplies={setReplies}
/>