Files
plane/web/ee/hooks/use-editor-flagging.ts

39 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

// editor
import { TExtensions } from "@plane/editor";
// plane web hooks
import { useFlag } from "@/plane-web/hooks/store";
/**
* @description extensions disabled in various editors
*/
export const useEditorFlagging = (
workspaceSlug: string
): {
documentEditor: TExtensions[];
2024-11-27 14:08:27 +05:30
liteTextEditor: TExtensions[];
richTextEditor: TExtensions[];
} => {
const isIssueEmbedEnabled = useFlag(workspaceSlug, "PAGE_ISSUE_EMBEDS");
2024-08-21 13:35:55 +05:30
const isEditorAIOpsEnabled = useFlag(workspaceSlug, "EDITOR_AI_OPS");
const isCollaborationCursorEnabled = useFlag(workspaceSlug, "COLLABORATION_CURSOR");
2024-11-27 14:08:27 +05:30
const isCalloutComponentEnabled = useFlag(workspaceSlug, "EDITOR_CALLOUT_COMPONENT");
// extensions disabled in the document editor
const documentEditor: TExtensions[] = [];
2024-11-27 14:08:27 +05:30
const liteTextEditor: TExtensions[] = [];
const richTextEditor: TExtensions[] = [];
if (!isIssueEmbedEnabled) documentEditor.push("issue-embed");
2024-08-21 13:35:55 +05:30
if (!isEditorAIOpsEnabled) documentEditor.push("ai");
if (!isCollaborationCursorEnabled) documentEditor.push("collaboration-cursor");
2024-11-27 14:08:27 +05:30
if (!isCalloutComponentEnabled) {
documentEditor.push("callout");
liteTextEditor.push("callout");
richTextEditor.push("callout");
}
return {
documentEditor,
2024-11-27 14:08:27 +05:30
liteTextEditor,
richTextEditor,
};
};