'use client' import React from 'react' import type { Editor } from '@tiptap/core' import { Bold, Italic, Highlighter, Link2, List, CheckSquare, Heading, Code, Sparkles, MessageSquare, Quote, AlignLeft } from 'lucide-react' import { cn } from '@/lib/utils' export type MobileEditorToolbarProps = { editor: Editor | null onOpenActionSheet: () => void onInsertImage?: () => void } export function MobileEditorToolbar({ editor, onOpenActionSheet, onInsertImage, }: MobileEditorToolbarProps) { if (!editor) return null // Format states const isBold = editor.isActive('bold') const isItalic = editor.isActive('italic') const isHighlight = editor.isActive('highlight') const isLink = editor.isActive('link') const isBulletList = editor.isActive('bulletList') const isTaskList = editor.isActive('taskList') const isCodeBlock = editor.isActive('codeBlock') const isHeading = editor.isActive('heading') const toggleHeadingCycle = () => { if (editor.isActive('heading', { level: 1 })) { editor.chain().focus().toggleHeading({ level: 2 }).run() } else if (editor.isActive('heading', { level: 2 })) { editor.chain().focus().toggleHeading({ level: 3 }).run() } else if (editor.isActive('heading', { level: 3 })) { editor.chain().focus().setParagraph().run() } else { editor.chain().focus().toggleHeading({ level: 1 }).run() } } const handleLinkPress = () => { if (isLink) { editor.chain().focus().unsetLink().run() } else { const url = window.prompt('URL:') if (url && url.trim()) { editor.chain().focus().setLink({ href: url.trim() }).run() } } } return (
) }