feat: add basic webui

This commit is contained in:
2024-12-30 06:39:09 +08:00
parent 608a7fb9c6
commit a4c549e7c3
462 changed files with 35900 additions and 2491 deletions

View File

@@ -0,0 +1,37 @@
'use client';
import type { ResolveMentionSuggestionsArgs } from '@liveblocks/client';
import type { ResolveUsersArgs } from '@liveblocks/node';
import {
ClientSideSuspense,
LiveblocksProvider,
RoomProvider,
} from '@liveblocks/react/suspense';
import type { ComponentProps, ReactNode } from 'react';
type RoomProps = ComponentProps<typeof LiveblocksProvider> & {
id: string;
children: ReactNode;
authEndpoint: string;
fallback: ReactNode;
resolveUsers?: (
args: ResolveUsersArgs
) => Promise<Liveblocks['UserMeta']['info'][]>;
resolveMentionSuggestions?: (
args: ResolveMentionSuggestionsArgs
) => Promise<string[]>;
};
export const Room = ({
id,
children,
authEndpoint,
fallback,
...props
}: RoomProps) => (
<LiveblocksProvider authEndpoint={authEndpoint} {...props}>
<RoomProvider id={id} initialPresence={{ cursor: null }}>
<ClientSideSuspense fallback={fallback}>{children}</ClientSideSuspense>
</RoomProvider>
</LiveblocksProvider>
);