The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/client/lib/mutationEffects/starredMessage.ts

27 lines
626 B

import type { IMessage } from '@rocket.chat/core-typings';
import { Messages } from '../../stores';
import { getUserId } from '../user';
export const toggleStarredMessage = (message: IMessage, starred: boolean) => {
const uid = getUserId()!;
if (starred) {
Messages.state.update(
(record) => record._id === message._id,
(record) => ({
...record,
starred: [...(record.starred ?? []), { _id: uid }],
}),
);
return;
}
Messages.state.update(
(record) => record._id === message._id,
(record) => ({
...record,
starred: (record.starred ?? []).filter((star) => star._id !== uid),
}),
);
};