import React from 'react' import Chat from "../../api/client_data/Chat.ts" import useAsyncEffect from "../useAsyncEffect.ts" import Client from "../../api/Client.ts" import data from "../../Data.ts" import { Dialog } from "mdui" import Avatar from "../Avatar.tsx"; import { checkApiSuccessOrSncakbar } from "../snackbar.ts" interface Args extends React.HTMLAttributes { chat: Chat openChatFragment: (id: string) => void chatInfoDialogRef: React.MutableRefObject } export default function ChatInfoDialog({ chat, chatInfoDialogRef, openChatFragment }: Args) { const [chatInfo, setChatInfo] = React.useState(null as unknown as Chat) const isMySelf = Client.myUserProfile?.id == chatInfo?.user_a_id && Client.myUserProfile?.id == chatInfo?.user_b_id useAsyncEffect(async () => { if (chat == null) return const re = await Client.invoke("Chat.getInfo", { token: data.access_token, target: chat.id, }) if (re.code != 200) return checkApiSuccessOrSncakbar(re, '獲取對話訊息失敗') setChatInfo(re.data!.chat_info as Chat) }) return (
{chat?.title}
{ chatInfoDialogRef.current!.open = false openChatFragment(chat.id) }}>對話
) }