import * as React from 'react' import { Button, Dialog, snackbar, TextField } from "mdui" import { data, useNavigate } from 'react-router' import { useContextSelector } from 'use-context-selector' import MainSharedContext, { Shared } from '../MainSharedContext' import showSnackbar from '../../utils/showSnackbar' import { CallbackError } from 'lingchair-client-protocol' import useEventListener from '../../utils/useEventListener' import ClientCache from '../../ClientCache' import useRouterDialogRef from './useRouterDialogRef' export default function AddFavourtieChatDialog({ ...props }: { open: boolean } & React.HTMLAttributes) { const dialogRef = useRouterDialogRef() const nav = useNavigate() const inputTargetRef = React.useRef(null) async function addFavouriteChat() { try { await (await ClientCache.getMySelf())!.addFavouriteChatsOrThrow([inputTargetRef.current!.value]) inputTargetRef.current!.value = '' showSnackbar({ message: '添加成功!' }) } catch (e) { if (e instanceof CallbackError) showSnackbar({ message: '添加收藏对话失败: ' + e.message }) } } return ( { if (event.key == 'Enter') addFavouriteChat() }}> nav(-1)}>取消 addFavouriteChat()}>添加 ) }