From a9c04dab5ff1274a750dddeeea1b5b0c0aff81d3 Mon Sep 17 00:00:00 2001 From: Ahtesham Quraish Date: Mon, 17 Nov 2025 14:27:01 +0500 Subject: [PATCH 1/6] WIP --- .../components/TiptapEditor/ArticleEditor.tsx | 4 +- .../components/TiptapEditor/TiptapEditor.tsx | 9 +- .../media-embed/MediaEmbedNodeView.tsx | 63 ++++++++++++++ .../media-embed/media-embed-extension.ts | 47 +++++++++++ .../components/tiptap-ui/media-embed/Icon.tsx | 15 ++++ .../components/tiptap-ui/media-embed/lib.ts | 18 ++++ .../media-embed/media-embed-button.tsx | 82 +++++++++++++++++++ .../tiptap-ui/media-embed/useMediaEmbed.ts | 34 ++++++++ 8 files changed, 270 insertions(+), 2 deletions(-) create mode 100644 frontends/ol-components/src/components/TiptapEditor/components/tiptap-node/media-embed/MediaEmbedNodeView.tsx create mode 100644 frontends/ol-components/src/components/TiptapEditor/components/tiptap-node/media-embed/media-embed-extension.ts create mode 100644 frontends/ol-components/src/components/TiptapEditor/components/tiptap-ui/media-embed/Icon.tsx create mode 100644 frontends/ol-components/src/components/TiptapEditor/components/tiptap-ui/media-embed/lib.ts create mode 100644 frontends/ol-components/src/components/TiptapEditor/components/tiptap-ui/media-embed/media-embed-button.tsx create mode 100644 frontends/ol-components/src/components/TiptapEditor/components/tiptap-ui/media-embed/useMediaEmbed.ts diff --git a/frontends/ol-components/src/components/TiptapEditor/ArticleEditor.tsx b/frontends/ol-components/src/components/TiptapEditor/ArticleEditor.tsx index 088f408551..d22228a959 100644 --- a/frontends/ol-components/src/components/TiptapEditor/ArticleEditor.tsx +++ b/frontends/ol-components/src/components/TiptapEditor/ArticleEditor.tsx @@ -27,6 +27,7 @@ import TiptapEditor, { MainToolbarContent } from "./TiptapEditor" // --- Tiptap Node --- import { ImageUploadNode } from "./components/tiptap-node/image-upload-node/image-upload-node-extension" +import { MediaEmbed } from "./components/tiptap-node/media-embed/media-embed-extension" import { HorizontalRule } from "./components/tiptap-node/horizontal-rule-node/horizontal-rule-node-extension" import "./components/tiptap-node/blockquote-node/blockquote-node.scss" @@ -179,6 +180,7 @@ const ArticleEditor = ({ onSave, readOnly, article }: ArticleEditorProps) => { Subscript, Selection, Image, + MediaEmbed, ImageUploadNode.configure({ accept: "image/*", maxSize: MAX_FILE_SIZE, @@ -212,7 +214,7 @@ const ArticleEditor = ({ onSave, readOnly, article }: ArticleEditorProps) => { ) : ( - +