import { h } from 'preact';
import { useState, useRef, useLayoutEffect } from 'preact/hooks';
import PropTypes from 'prop-types';
// eslint-disable-next-line import/no-unresolved
import ThreeDotsIcon from 'images/overflow-horizontal.svg';
import { adjustTimestamp } from './util';
import { ErrorMessage } from './messages/errorMessage';
import { Button } from '@crayons';
import { initializeDropdown } from '@utilities/dropdownUtils';
export const Message = ({
currentUserId,
id,
user,
userID,
message,
color,
type,
editedAt,
timestamp,
profileImageUrl,
onContentTrigger,
onDeleteMessageTrigger,
onReportMessageTrigger,
onEditMessageTrigger,
}) => {
const [isDropdownOpen, setIsDropdownOpen] = useState(false);
const messageWrapperRef = useRef(null);
const spanStyle = { color };
const triggerElementId = `message-dropdown-trigger-${id}`;
const dropdownContentId = `message-dropdown-${id}`;
useLayoutEffect(() => {
initializeDropdown({
triggerElementId,
dropdownContentId,
onOpen: () => setIsDropdownOpen(true),
onClose: () => setIsDropdownOpen(false),
});
}, [triggerElementId, dropdownContentId]);
if (type === 'error') {
return