mirror of
https://github.com/hanzo-io/chat.git
synced 2026-10-30 18:57:58 +00:00
24 lines
828 B
TypeScript
24 lines
828 B
TypeScript
import { Message } from "@raven/types/common/Message"
|
|
import { FrappeConfig, FrappeContext } from "frappe-react-sdk"
|
|
import { useContext, useState } from "react"
|
|
import { toast } from "sonner-native"
|
|
|
|
export const useTogglePinMessage = (message: Message) => {
|
|
const isPinned = message.is_pinned
|
|
const { call } = useContext(FrappeContext) as FrappeConfig
|
|
const [error, setError] = useState<string | null>(null)
|
|
const TogglePin = () => {
|
|
call.post('raven.api.raven_channel.toggle_pin_message', {
|
|
channel_id: message.channel_id,
|
|
message_id: message.name,
|
|
}).then(() => {
|
|
toast.success(`Message ${isPinned ? 'unpinned' : 'pinned'}`)
|
|
}).catch((e) => {
|
|
console.error(e)
|
|
setError(e)
|
|
})
|
|
}
|
|
|
|
return { TogglePin, error }
|
|
}
|