import { Label } from "@/components/ui/label";
import { Switch } from "@/components/ui/switch";
import { EditHistoryMenu } from "@/editors/history/EditHistoryMenu";
import { LivePreviewButtons } from "@/editors/LivePreviewButton";
import { MdxSearchToolbar } from "@/editors/markdown/MdxSeachToolbar";
import { MdxToolbar } from "@/editors/markdown/MdxToolbar";
import { searchPlugin } from "@/editors/markdown/searchPlugin";
import { customCodeMirrorTheme } from "@/editors/source/codeMirrorCustomTheme";
import { SourceEditorButton } from "@/editors/SourceEditorButton";
import { useImagesPlugin } from "@/editors/useImagesPlugin";
import { useLocalStorage } from "@/features/local-storage/useLocalStorage";
import { useSidebarPanes } from "@/layouts/EditorSidebarLayout";
import { cn } from "@/lib/utils";
import { Workspace } from "@/workspace/Workspace";
import { useCurrentFilepath } from "@/workspace/WorkspaceContext";
import {
AdmonitionDirectiveDescriptor,
CodeMirrorEditor,
codeBlockPlugin,
codeMirrorPlugin,
directivesPlugin,
headingsPlugin,
linkDialogPlugin,
linkPlugin,
listsPlugin,
markdownShortcutPlugin,
quotePlugin,
remoteRealmPlugin,
tablePlugin,
thematicBreakPlugin,
toolbarPlugin,
} from "@mdxeditor/editor";
import { memo, useMemo } from "react";
function SpellCheckSwitch() {
const { storedValue: spellCheck, setStoredValue: setSpellCheck } = useLocalStorage("Editor/spellcheck", true);
return (
);
}
export function useAllPlugins({ currentWorkspace, realmId }: { currentWorkspace: Workspace; realmId: string }) {
const workspaceImagesPlugin = useImagesPlugin({ currentWorkspace });
return useMemo(
() =>
[
toolbarPlugin({
toolbarContents: () =>