import Client from "../api/Client.ts" import data from "../Data.ts" import ChatFragment from "./chat/ChatFragment.jsx" import LoginDialog from "./dialog/LoginDialog.tsx" import ContactsListItem from "./main/ContactsListItem.jsx" import RecentsListItem from "./main/RecentsListItem.jsx" import useEventListener from './useEventListener.js' import User from "../api/client_data/User.ts" import RecentChat from "../api/client_data/RecentChat.ts" import * as React from 'react' import * as CryptoES from 'crypto-es' import { Button, Dialog, NavigationRail, snackbar, TextField } from "mdui" import Split from 'split.js' import 'mdui/jsx.zh-cn.d.ts' declare global { namespace React { namespace JSX { interface IntrinsicAttributes { id?: string } } } } export default function App() { const [recentsList, setRecentsList] = React.useState([ { id: '0', avatar: "https://www.court-records.net/mugshot/aa6-004-maya.png", title: "麻油衣酱", content: "成步堂君, 我又坐牢了(" }, { id: '0', avatar: "https://www.court-records.net/mugshot/aa6-004-maya.png", title: "Maya Fey", content: "我是绫里真宵, 是一名灵媒师~" }, ] as RecentChat[]) const [contactsMap, setContactsMap] = React.useState({ 所有: [ { id: '0', avatar: "https://www.court-records.net/mugshot/aa6-004-maya.png", nickname: "麻油衣酱", }, { id: '0', avatar: "https://www.court-records.net/mugshot/aa6-004-maya.png", nickname: "Maya Fey", }, ], } as unknown as { [key: string]: User[] }) const [navigationItemSelected, setNavigationItemSelected] = React.useState('Recents') const navigationRailRef = React.useRef(null) useEventListener(navigationRailRef, 'change', (event) => { setNavigationItemSelected((event.target as HTMLElement as NavigationRail).value as string) }) const loginDialogRef: React.MutableRefObject = React.useRef(null) const inputAccountRef: React.MutableRefObject = React.useRef(null) const inputPasswordRef: React.MutableRefObject = React.useRef(null) const registerButtonRef: React.MutableRefObject