@plteam/chat-ui
Version:
CUI Kit is a free and open-source library for creating AI assistant chat interfaces, built with React, Material UI, and TypeScript
26 lines (25 loc) • 1.08 kB
JavaScript
import * as React from 'react';
export var MessageStateEnum;
(function (MessageStateEnum) {
MessageStateEnum["EDIT"] = "edit";
MessageStateEnum["VIEW"] = "view";
})(MessageStateEnum || (MessageStateEnum = {}));
export const useMessagesMode = () => {
const [messagesModeValues, setMessagesModeValues] = React.useState({});
const updateValue = (messageId, mode) => {
if (messagesModeValues[messageId] !== mode) {
setMessagesModeValues(() => ({ ...messagesModeValues, [messageId]: mode }));
}
};
const getState = (messageId) => {
return messagesModeValues[messageId] ?? MessageStateEnum.VIEW;
};
return {
values: messagesModeValues,
updateValue: updateValue,
edit: (messageId) => updateValue(messageId, MessageStateEnum.EDIT),
view: (messageId) => updateValue(messageId, MessageStateEnum.VIEW),
isView: (messageId) => getState(messageId) === MessageStateEnum.VIEW,
isEdit: (messageId) => getState(messageId) === MessageStateEnum.EDIT,
};
};