Files
archived-linsa/web/shared/editor/hooks/use-text-menu-commands.ts
Aslam a440828f8c chore: Enhancement + New Feature (#185)
* wip

* wip page

* chore: style

* wip pages

* wip pages

* chore: toggle

* chore: link

* feat: topic search

* chore: page section

* refactor: apply tailwind class ordering

* fix: handle loggedIn user for guest route

* feat: folder & image schema

* chore: move utils to shared

* refactor: tailwind class ordering

* feat: img ext for editor

* refactor: remove qa

* fix: tanstack start

* fix: wrong import

* chore: use toast

* chore: schema
2024-10-18 21:18:20 +07:00

49 lines
1.1 KiB
TypeScript

import * as React from "react"
import { Editor } from "@tiptap/react"
export const useTextmenuCommands = (editor: Editor) => {
const onBold = React.useCallback(
() => editor.chain().focus().toggleBold().run(),
[editor],
)
const onItalic = React.useCallback(
() => editor.chain().focus().toggleItalic().run(),
[editor],
)
const onStrike = React.useCallback(
() => editor.chain().focus().toggleStrike().run(),
[editor],
)
const onCode = React.useCallback(
() => editor.chain().focus().toggleCode().run(),
[editor],
)
const onCodeBlock = React.useCallback(
() => editor.chain().focus().toggleCodeBlock().run(),
[editor],
)
const onQuote = React.useCallback(
() => editor.chain().focus().toggleBlockquote().run(),
[editor],
)
const onLink = React.useCallback(
(url: string, inNewTab?: boolean) =>
editor
.chain()
.focus()
.setLink({ href: url, target: inNewTab ? "_blank" : "" })
.run(),
[editor],
)
return {
onBold,
onItalic,
onStrike,
onCode,
onCodeBlock,
onQuote,
onLink,
}
}