import React, { useEffect } from 'react'; import { useSelector } from 'react-redux'; import GPTIcon from '../svg/GPTIcon'; // import useCustomEffect from '~/hooks/useCustomEffect'; export default function Message({ sender, text, last = false, error = false, scrollToBottom }) { const { isSubmitting } = useSelector((state) => state.submit); const blinker = isSubmitting && last && sender === 'GPT'; useEffect(() => { if (blinker) { scrollToBottom(); } }, [isSubmitting, text]); const props = { className: 'w-full border-b border-black/10 dark:border-gray-900/50 text-gray-800 dark:text-gray-100 group dark:bg-gray-800' }; if (sender === 'GPT') { props.className = 'w-full border-b border-black/10 dark:border-gray-900/50 text-gray-800 dark:text-gray-100 group bg-gray-100 dark:bg-[#444654]'; } return (
{sender === 'GPT' ? (
) : ( `${sender}:` )}
{!!error ? (
{text}
) : ( {text} {blinker && } )}
); }