fix collab user

This commit is contained in:
Philipinho
2024-04-26 22:59:57 +01:00
parent 4667d81f57
commit 390d58793a
3 changed files with 28 additions and 26 deletions

View File

@ -17,6 +17,11 @@ import { CollaborationCursor } from "@tiptap/extension-collaboration-cursor";
import { HocuspocusProvider } from "@hocuspocus/provider";
import { Comment, TrailingNode } from "@docmost/editor-ext";
import GlobalDragHandle from "tiptap-extension-global-drag-handle";
import {
randomElement,
userColors,
} from "@/features/editor/extensions/utils.ts";
import { IUser } from "@/features/user/types/user.types.ts";
export const mainExtensions = [
StarterKit.configure({
@ -54,13 +59,17 @@ export const mainExtensions = [
}),
] as any;
type CollabExtensions = (provider: HocuspocusProvider) => any[];
type CollabExtensions = (provider: HocuspocusProvider, user: IUser) => any[];
export const collabExtensions: CollabExtensions = (provider) => [
export const collabExtensions: CollabExtensions = (provider, user) => [
Collaboration.configure({
document: provider.document,
}),
CollaborationCursor.configure({
provider,
user: {
name: user.name,
color: randomElement(userColors),
},
}),
];

View File

@ -0,0 +1,13 @@
export const userColors = [
"#958DF1",
"#F98181",
"#FBBC88",
"#FAF594",
"#70CFF8",
"#94FADB",
"#B9F18D",
];
export function randomElement(array: Array<any>) {
return array[Math.floor(Math.random() * array.length)];
}