"use client"; import { useEditor, EditorContent } from "@tiptap/react"; import StarterKit from "@tiptap/starter-kit"; import Image from "@tiptap/extension-image"; import { useState } from "react"; import { Box, Button, Group, Image as MantineImage, Stack, Text, } from "@mantine/core"; import Underline from "@tiptap/extension-underline"; import { MainColor } from "@/app_modules/_global/color"; const listStiker = [ { id: 2, name: "stiker2", url: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQN9AKmsBY4yqdn3GueJJEVPJbfmf853gDL4cN8uc9eqsCTiJ1fzhcpywzVP68NCJEA5NQ&usqp=CAU", }, { id: 3, name: "stiker3", url: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS2lkV3ZiQ8m-OELSui2JGVy80vnh1cyRUV7NrgFNluPVVs2HUAyCHwCMAKGe2s5jk2sn8&usqp=CAU", }, { id: 4, name: "stiker4", url: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQHy9ZdsPc6dHgVTl5yIGpRJ-KtpTIsXA2_kbfO1Oc-pv_f7CNKGxhO56RjKujE3xCyb9k&usqp=CAU", }, ]; export default function RichTextWithStickers() { const [chat, setChat] = useState([]); const editor = useEditor({ extensions: [ StarterKit, // Sudah include Bold, Italic, dll Underline, // Tambahan untuk underline Image, ], content: "", }); const insertSticker = (url: string) => { editor?.chain().focus().setImage({ src: url }).run(); }; return ( Tiptap Editor dengan Stiker Inline {listStiker.map((item) => ( insertSticker(item.url)} style={{ border: "none", background: "transparent", cursor: "pointer", }} > ))} {/* {chat.map((item, index) => ( ))} */} ); }