import { AiModelType } from "@/_models/Product"; import { useStore } from "@/_models/RootStore"; import { observer } from "mobx-react-lite"; import React from "react"; import JanImage from "../JanImage"; import { displayDate } from "@/_utils/datetime"; import Image from "next/image"; type Props = { conversationId: string; avatarUrl: string; name: string; updatedAt?: number; }; const HistoryItem: React.FC = observer( ({ conversationId, avatarUrl, name, updatedAt }) => { const { historyStore } = useStore(); const send = true; // TODO store this in mobx const onClick = () => { historyStore.setActiveConversationId(conversationId); }; const conversation = historyStore.getConversationById(conversationId); const isSelected = historyStore.activeConversationId === conversationId; const backgroundColor = isSelected ? "bg-gray-100 dark:bg-gray-700" : "bg-white dark:bg-gray-500"; let rightImageUrl: string | undefined; if (conversation && conversation.isWaitingForModelResponse) { rightImageUrl = "/icons/loading.svg"; } else if ( conversation && conversation.product.type === AiModelType.GenerativeArt && conversation.lastImageUrl && conversation.lastImageUrl.trim().startsWith("https://") ) { rightImageUrl = conversation.lastImageUrl; } return ( ); } ); export default HistoryItem;