import * as React from 'react'; import dayjs from 'dayjs'; import { TopicMessage } from 'generated-sources'; import Dropdown from 'components/common/Dropdown/Dropdown'; import DropdownItem from 'components/common/Dropdown/DropdownItem'; import useDataSaver from 'lib/hooks/useDataSaver'; import VerticalElipsisIcon from 'components/common/Icons/VerticalElipsisIcon'; import MessageToggleIcon from 'components/common/Icons/MessageToggleIcon'; import IconButtonWrapper from 'components/common/Icons/IconButtonWrapper'; import styled from 'styled-components'; import MessageContent from './MessageContent/MessageContent'; const StyledDataCell = styled.td` overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 350px; min-width: 350px; `; const Message: React.FC<{ message: TopicMessage }> = ({ message: { timestamp, timestampType, offset, key, partition, content, valueFormat, keyFormat, headers, }, }) => { const [isOpen, setIsOpen] = React.useState(false); const { copyToClipboard, saveFile } = useDataSaver( 'topic-message', content || '' ); const toggleIsOpen = () => setIsOpen(!isOpen); const [vEllipsisOpen, setVEllipsisOpen] = React.useState(false); return ( <>