UNPKG

@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
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, }; };