diff --git a/apps/client/src/features/editor/components/code-block/code-block-view.tsx b/apps/client/src/features/editor/components/code-block/code-block-view.tsx new file mode 100644 index 00000000..89edb3d6 --- /dev/null +++ b/apps/client/src/features/editor/components/code-block/code-block-view.tsx @@ -0,0 +1,62 @@ +import { NodeViewContent, NodeViewProps, NodeViewWrapper } from "@tiptap/react"; +import { ActionIcon, CopyButton, Group, Select, Tooltip } from "@mantine/core"; +import { useState } from "react"; +import classes from "./code-block.module.css"; +import { IconCheck, IconCopy } from "@tabler/icons-react"; +import { useHover } from "@mantine/hooks"; + +export default function CodeBlockView(props: NodeViewProps) { + const { node, updateAttributes, extension, editor, selected } = props; + const { language } = node.attrs; + const [languageValue, setLanguageValue] = useState( + language || null, + ); + const { hovered, ref } = useHover(); + + function changeLanguage(language: string) { + setLanguageValue(language); + updateAttributes({ + language: language, + }); + } + + return ( + + +