From e22d99d04f0c1d33499e53ca983c2913ea87f6fc Mon Sep 17 00:00:00 2001 From: CrescentLeaf Date: Sat, 13 Dec 2025 12:33:00 +0800 Subject: [PATCH] =?UTF-8?q?featwip=20=E8=B5=84=E6=96=99=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/ui/routers/UserOrChatInfoDialog.tsx | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 client/ui/routers/UserOrChatInfoDialog.tsx diff --git a/client/ui/routers/UserOrChatInfoDialog.tsx b/client/ui/routers/UserOrChatInfoDialog.tsx new file mode 100644 index 0000000..2cccd15 --- /dev/null +++ b/client/ui/routers/UserOrChatInfoDialog.tsx @@ -0,0 +1,46 @@ +import { dialog } from "mdui" +import useRouterDialogRef from "./useRouterDialogRef" +import { BlockerFunction, useBlocker, useLocation, useNavigate, useParams, useSearchParams } from "react-router" +import useAsyncEffect from "../../utils/useAsyncEffect" +import { CallbackError, Chat } from "lingchair-client-protocol" +import showSnackbar from "../../utils/showSnackbar" +import getClient from "../../getClient" +import Avatar from "../Avatar" +import { useContextSelector } from "use-context-selector" +import MainSharedContext, { Shared } from "../MainSharedContext" +import * as React from 'react' + +export default function UserOrChatInfoDialog() { + const shared = useContextSelector(MainSharedContext, (context: Shared) => ({ + myProfileCache: context.myProfileCache, + favouriteChats: context.favouriteChats, + })) + + const dialogRef = useRouterDialogRef() + + const location = useLocation() + const searchParams = useSearchParams() + const params = useParams() + + return ( + +
" + + Object.keys(location) + // @ts-ignore 懒 + .map((k) => `${k} = ${location[k]}`) + .join('

') + + "

↓ searchParams

" + Object.keys(searchParams) + // @ts-ignore 懒 + .map((k) => `${k} = ${searchParams[k]}`) + .join('

') + + "

↓ params

" + Object.keys(params) + // @ts-ignore 懒 + .map((k) => `${k} = ${params[k]}`) + .join('

') + }}>
+
+ ) +}