import * as React from "bloatless-react"; import { Chat, MessageObject } from "../../Model/chatModel"; import { ObjectDetailModal } from "./objectDetailModal"; import { ObjectListEntry } from "./objectListEntry"; import { translation } from "../../translations"; export function ChatObjectView(chat: Chat) { const isShowingObjectModal = new React.State(false); const selectedObject = new React.State(undefined); const objectModal = React.createProxyState( [chat.objects, selectedObject], () => { if (selectedObject.value == undefined) return
; return ObjectDetailModal( chat, selectedObject.value, isShowingObjectModal ); } ); function createObject() { const newObject = chat.createObjectFromTitle(translation.untitledObject); chat.addObjectAndSend(newObject); selectedObject.value = newObject; isShowingObjectModal.value = true; } const objectConverter: React.StateItemConverter = ( messageObject ) => { function select() { selectedObject.value = messageObject; isShowingObjectModal.value = true; } return ObjectListEntry(messageObject, select); }; return (
); }