import styled from "styled-components"; import { FontBoldIcon, FontItalicIcon, StrikethroughIcon, ArrowLeftIcon, ArrowRightIcon, OpacityIcon, DividerVerticalIcon } from "@radix-ui/react-icons"; import { AlertCircle, AlertTriangle, FileText, GraduationCap, ImagePlus, Info, Sigma, Video, Youtube, ListOrdered } from "lucide-react"; import ToolTip from "@components/StyledElements/Tooltip/Tooltip"; export const ToolbarButtons = ({ editor, props }: any) => { if (!editor) { return null; } // YouTube extension const addYoutubeVideo = () => { const url = prompt("Enter YouTube URL"); if (url) { editor.commands.setYoutubeVideo({ src: url, width: 640, height: 480, }); } }; return ( editor.chain().focus().undo().run()}> editor.chain().focus().redo().run()}> editor.chain().focus().toggleBold().run()} className={editor.isActive("bold") ? "is-active" : ""}> editor.chain().focus().toggleItalic().run()} className={editor.isActive("italic") ? "is-active" : ""}> editor.chain().focus().toggleStrike().run()} className={editor.isActive("strike") ? "is-active" : ""}> editor.chain().focus().toggleOrderedList().run()} className={editor.isActive('orderedList') ? 'is-active' : ''}> editor .chain() .focus() .toggleHeading({ level: parseInt(e.target.value) }) .run() } > {/* TODO: fix this : toggling only works one-way */} editor.chain().focus().toggleNode("calloutInfo").run()}> editor.chain().focus().toggleNode("calloutWarning").run()}> editor .chain() .focus() .insertContent({ type: "blockImage", }) .run() } > editor .chain() .focus() .insertContent({ type: "blockVideo", }) .run() } > addYoutubeVideo()}> editor .chain() .focus() .insertContent({ type: "blockMathEquation", }) .run() } > editor .chain() .focus() .insertContent({ type: "blockPDF", }) .run() } > {/* editor .chain() .focus() .insertContent({ type: "blockQuiz", }) .run() } > */} ); }; const ToolButtonsWrapper = styled.div` display: flex; flex-direction: row; align-items: left; justify-content: left; `; const ToolBtn = styled.div` display: flex; background: rgba(217, 217, 217, 0.24); border-radius: 6px; width: 25px; height: 25px; padding: 5px; margin-right: 5px; transition: all 0.2s ease-in-out; svg { padding: 1px; } &.is-active { background: rgba(176, 176, 176, 0.5); &:hover { background: rgba(139, 139, 139, 0.5); cursor: pointer; } } &:hover { background: rgba(217, 217, 217, 0.48); cursor: pointer; } `; const ToolSelect = styled.select` display: flex; background: rgba(217, 217, 217, 0.24); border-radius: 6px; width: 100px; border: none; height: 25px; padding: 5px; font-size: 11px; font-family: "DM Sans"; margin-right: 5px; `;