summaryrefslogtreecommitdiff
path: root/components/rich-text-editor/BlockquoteButton.tsx
blob: be9a342bc7f267e5cb301ec3ba423e8d7d9182c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'use client'

import React from 'react'
import type { Editor } from '@tiptap/react'
import { Toggle } from '@/components/ui/toggle'
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'
import { Quote as QuoteIcon } from 'lucide-react'

interface BlockquoteButtonProps {
  editor: Editor | null
  disabled?: boolean
  isActive: boolean
  executeCommand: (command: () => void) => void
}

export function BlockquoteButton({ editor, disabled, isActive, executeCommand }: BlockquoteButtonProps) {
  if (!editor) return null
  return (
    <Tooltip>
      <TooltipTrigger asChild>
        <Toggle
          size="sm"
          pressed={isActive}
          onMouseDown={e => e.preventDefault()}
          onPressedChange={() => executeCommand(() => editor.chain().focus().toggleBlockquote().run())}
          disabled={disabled}
        >
          <QuoteIcon className="h-4 w-4" />
        </Toggle>
      </TooltipTrigger>
      <TooltipContent>
        <p>인용문</p>
      </TooltipContent>
    </Tooltip>
  )
}