refactor(css): scope Quill editor into styled() and delete offers.css

Phase 3 of the "fully MUI" cleanup.

- New src/admin/ui/RichText.tsx exports two theme-aware styled() wrappers:
  RichEditorRoot (the .admin-rich-editor Quill overrides) and RichTextView
  (the .admin-rich-text-view read-only output). All colors resolve via
  theme.vars; picker/tooltip shadows use theme.applyStyles for the
  light/dark difference; the active-button tint uses the primary channel.
- Dropped the ~170 dead font/size picker rules from the old stylesheet —
  the editor toolbar exposes neither picker. Kept the .ql-font-* content
  classes (shared by editor + view) so legacy stored HTML still renders.
- RichEditor uses <RichEditorRoot> (min-height still via --re-min-height);
  InvoiceDetail + OrderDetail use <RichTextView> for the sanitized output.
- offers.css deleted; its import removed from AdminApp.

tsc -b --noEmit and npm run build clean. Verified the editor in Chrome
(light + dark): toolbar, editor surface, text, icon strokes and min-height
all correct and theme-reactive.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
BOHA
2026-06-07 17:37:11 +02:00
parent 2a228ea659
commit d424ef8c15
7 changed files with 215 additions and 425 deletions

View File

@@ -63,6 +63,7 @@ import {
EmptyState,
LoadingState,
PageEnter,
RichTextView,
} from "../ui";
const API_BASE = "/api/admin";
@@ -1559,8 +1560,7 @@ export default function InvoiceDetail() {
Veřejné poznámky na faktuře
</Typography>
{notes && notes.trim() && notes !== "<p><br></p>" ? (
<Box
className="admin-rich-text-view"
<RichTextView
dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(notes) }}
/>
) : (