import * as React from "react";
import Text from "@siteground/styleguide/lib/components/text/text";
import cn from "@siteground/styleguide/lib/utils/classnames";
import { Flex } from "@siteground/styleguide";
import { translate } from "i18n-calypso";
import { useGetImage } from "@/chat/hooks/use-get-image";
import { ImagePreview } from "../image-handler/image-handler";
import { parseMessageContent } from "@/chat/utils/parse-message-content";
import { DeletedMediaChip } from "./deleted-media-chip";
import { FileItem } from "./file-item";
const DeletedImageChip = () => {
return ;
};
const ImageOrDeletedChip = ({
imageUrl,
alt,
renderDeleted,
}: {
imageUrl: string;
alt: string;
renderDeleted?: boolean;
}) => {
const { image, isLoading } = useGetImage(imageUrl);
if (isLoading) return null;
if (!image) {
return renderDeleted ? : null;
}
return renderDeleted ? null : (
);
};
interface Props {
message: string;
}
const ClientMessage: React.FC = ({ message }) => {
const classes = cn("wp-ai-studio-client-message", "wp-ai-studio-message-vertical-align-client");
const contentClasses = cn("wp-ai-studio-client-message__content");
const renderMessageContent = () => {
const parsedContent = parseMessageContent(message);
if (!parsedContent) {
return {message};
}
const { textItems, imageItems, fileItems } = parsedContent;
const hasMedia = imageItems.length > 0 || fileItems.length > 0;
return (
<>
{textItems.map((item, index) => (
{item.text}
))}
{hasMedia && (
<>
{imageItems.map((item, index) => (
))}
{fileItems.map((item, index) => (
))}
{imageItems.map((item, index) => (
))}
{fileItems.map((item, index) => (
))}
>
)}
>
);
};
return (
);
};
export default ClientMessage;