diff --git a/src/components/RichTextEditor.tsx b/src/components/RichTextEditor.tsx index 8a518620..a8e9179a 100644 --- a/src/components/RichTextEditor.tsx +++ b/src/components/RichTextEditor.tsx @@ -1,6 +1,6 @@ import { useState } from "react"; - -import { styled, useTheme } from "@mui/material"; +import { GlobalStyles } from "tss-react"; +import { alpha, styled, useTheme } from "@mui/material"; import { Editor } from "@tinymce/tinymce-react"; // TinyMCE so the global var exists @@ -10,7 +10,9 @@ import "tinymce/themes/silver"; // Toolbar icons import "tinymce/icons/default"; // Editor styles -import "tinymce/skins/ui/oxide/skin.min.css"; +/* eslint import/no-webpack-loader-syntax: off */ +import skinCss from "!!raw-loader!tinymce/skins/ui/oxide/skin.min.css"; +import skinDarkCss from "!!raw-loader!tinymce/skins/ui/oxide-dark/skin.min.css"; // Content styles, including inline UI like fake cursors /* eslint import/no-webpack-loader-syntax: off */ import contentCss from "!!raw-loader!tinymce/skins/content/default/content.min.css"; @@ -55,7 +57,32 @@ const Styles = styled("div", { }, "& .tox-edit-area__iframe": { colorScheme: "auto" }, - "& .tox-toolbar__group": { border: "none !important" }, + "& .tox-toolbar__group": { + border: "none !important", + "& .tox-tbtn": { + "&:hover:": { + backgroundColor: "inherit", + }, + "&:focus": { + backgroundColor: "inherit", + }, + }, + "& .tox-tbtn__select-chevron": { + transition: theme.transitions.create("transform", { + duration: theme.transitions.duration.short, + }), + }, + "& .tox-tbtn--select": { + "& .tox-tbtn__select-chevron": { + transform: "none", + }, + }, + "& .tox-tbtn--active": { + "& .tox-tbtn__select-chevron": { + transform: "rotate(180deg)", + }, + }, + }, "& .tox-tbtn": { borderRadius: theme.shape.borderRadius, @@ -118,7 +145,74 @@ export default function RichTextEditor({ return ( + + +