refactor: more TS code

This commit is contained in:
Tristan Yang
2022-07-28 23:25:47 +08:00
parent e26b6f0fcc
commit 875f74c410
17 changed files with 67 additions and 47 deletions
+2 -2
View File
@@ -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,
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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
View File
@@ -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;