refactor: more TS code
This commit is contained in:
@@ -64,7 +64,7 @@ export default function ChannelChat({ cid = 0, dropFiles = [] }: Props) {
|
||||
loginUser: store.authData.user,
|
||||
// msgIds: store.channelMessage[cid] || [],
|
||||
userIds: store.users.ids,
|
||||
data: store.channels.byId[cid] || {},
|
||||
data: store.channels.byId[cid],
|
||||
messageData: store.message || {}
|
||||
};
|
||||
});
|
||||
@@ -201,7 +201,7 @@ export default function ChannelChat({ cid = 0, dropFiles = [] }: Props) {
|
||||
if (!curr) return null;
|
||||
const isFirst = idx == 0;
|
||||
const prev = isFirst ? null : messageData[feeds[idx - 1]];
|
||||
const read = curr?.from_uid == loginUser.uid || mid <= readIndex;
|
||||
const read = curr?.from_uid == loginUser?.uid || mid <= readIndex;
|
||||
return renderMessageFragment({
|
||||
selectMode: !!selects,
|
||||
updateReadIndex: updateReadDebounced,
|
||||
|
||||
@@ -13,7 +13,7 @@ interface Props {
|
||||
children: ReactElement;
|
||||
header: ReactElement;
|
||||
aside: ReactElement | null;
|
||||
users?: ReactElement;
|
||||
users?: ReactElement | null;
|
||||
dropFiles?: File[];
|
||||
context: "channel" | "user";
|
||||
to: number;
|
||||
|
||||
@@ -11,7 +11,7 @@ const Styled = styled.div`
|
||||
padding: 30px 0;
|
||||
`;
|
||||
type Props = {
|
||||
pullUp: () => void | null;
|
||||
pullUp: () => Promise<void> | null;
|
||||
};
|
||||
const LoadMore: FC<Props> = ({ pullUp = null }) => {
|
||||
const ref = useRef<HTMLDivElement>();
|
||||
|
||||
+11
-10
@@ -141,7 +141,16 @@ const MessageWrapper = ({ selectMode = false, context, id, mid, children, ...res
|
||||
</StyledWrapper>
|
||||
);
|
||||
};
|
||||
|
||||
type Params = {
|
||||
selectMode: boolean;
|
||||
isFirst: boolean;
|
||||
read: boolean;
|
||||
updateReadIndex: (param: any) => void;
|
||||
prev: object | null;
|
||||
curr: object | null;
|
||||
contextId: number;
|
||||
context: "user" | "channel";
|
||||
};
|
||||
export const renderMessageFragment = ({
|
||||
selectMode = false,
|
||||
isFirst = false,
|
||||
@@ -151,7 +160,7 @@ export const renderMessageFragment = ({
|
||||
curr = null,
|
||||
contextId = 0,
|
||||
context = "user"
|
||||
}) => {
|
||||
}: Partial<Params>) => {
|
||||
if (!curr) return null;
|
||||
let { created_at, mid } = curr;
|
||||
const local_id = curr.properties?.local_id;
|
||||
@@ -191,14 +200,6 @@ export const renderMessageFragment = ({
|
||||
</MessageWrapper>
|
||||
</React.Fragment>
|
||||
);
|
||||
// React.memo(
|
||||
// (prevs, nexts) => {
|
||||
// // curr.properties?.local_id
|
||||
// const prevObj = prevs.curr || undefined;
|
||||
// const nextObj = nexts.curr || undefined;
|
||||
// return prevObj?.properties?.local_id === nextObj?.properties?.local_id;
|
||||
// }
|
||||
// );
|
||||
};
|
||||
|
||||
export default getUnreadCount;
|
||||
|
||||
Reference in New Issue
Block a user