Skip to content

Commit dbc08bc

Browse files
Fix: deletion of message get simultaneously deleted from the starred modal. (#966)
* starred fix * refractored file sidebar
1 parent 32e60c7 commit dbc08bc

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

packages/react/src/views/FileMessage/FileMessage.js

+26-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
import React, { useState, useCallback, memo, useContext } from 'react';
1+
import React, {
2+
useState,
3+
useCallback,
4+
memo,
5+
useContext,
6+
useEffect,
7+
} from 'react';
28
import PropTypes from 'prop-types';
39
import {
410
Box,
@@ -20,16 +26,18 @@ import FilePreviewHeader from './FilePreviewHeader';
2026
import { MessageBody as FileBody } from '../Message/MessageBody';
2127
import { FileMetrics } from './FileMetrics';
2228
import { useRCContext } from '../../context/RCInstance';
23-
import { useMessageStore } from '../../store';
29+
import { useChannelStore, useMessageStore } from '../../store';
2430
import { fileDisplayStyles as styles } from './Files.styles';
2531

26-
const FileMessage = ({ fileMessage }) => {
32+
const FileMessage = ({ fileMessage, onDeleteFile }) => {
2733
const { classNames, styleOverrides } = useComponentOverrides('FileMessage');
2834
const dispatchToastMessage = useToastBarDispatch();
2935
const { RCInstance } = useRCContext();
3036
const messages = useMessageStore((state) => state.messages);
31-
37+
const [files, setFiles] = useState([]);
3238
const theme = useTheme();
39+
const isChannelPrivate = useChannelStore((state) => state.isChannelPrivate);
40+
const [isFetching, setIsFetching] = useState(true);
3341
const { mode } = theme;
3442
const messageStyles = styles.message;
3543

@@ -75,6 +83,19 @@ const FileMessage = ({ fileMessage }) => {
7583
},
7684
[messages, RCInstance, dispatchToastMessage]
7785
);
86+
useEffect(() => {
87+
const fetchAllFiles = async () => {
88+
const res = await RCInstance.getAllFiles(isChannelPrivate, '');
89+
if (res?.files) {
90+
const sortedFiles = res.files.sort(
91+
(a, b) => new Date(b.uploadedAt) - new Date(a.uploadedAt)
92+
);
93+
setFiles(sortedFiles);
94+
setIsFetching(false);
95+
}
96+
};
97+
fetchAllFiles();
98+
}, [RCInstance, isChannelPrivate, messages, fileToDelete]);
7899

79100
const handleOnClose = () => {
80101
setFileToDelete({});
@@ -148,6 +169,7 @@ const FileMessage = ({ fileMessage }) => {
148169

149170
FileMessage.propTypes = {
150171
fileMessage: PropTypes.any.isRequired,
172+
onDeleteFile: PropTypes.func,
151173
};
152174

153175
export default memo(FileMessage);

packages/react/src/views/Message/Message.js

+1
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ const Message = ({
194194
message: 'Error in deleting message',
195195
});
196196
}
197+
getStarredMessages();
197198
};
198199

199200
const handleEmojiClick = async (e, msg, canReact) => {

0 commit comments

Comments
 (0)