import "../../style/actions/arrow_action.css" import Draggable from "react-draggable" import arrowPng from "../../assets/icon/arrow.svg" import { useRef } from "react" export interface ArrowActionProps { onHeadDropped: (headBounds: DOMRect) => void onHeadPicked: (headBounds: DOMRect) => void onHeadMoved: (headBounds: DOMRect) => void } export default function ArrowAction({ onHeadDropped, onHeadPicked, onHeadMoved, }: ArrowActionProps) { const arrowHeadRef = useRef(null) return (
add arrow { const headBounds = arrowHeadRef.current!.getBoundingClientRect() onHeadPicked(headBounds) }} onStop={() => { const headBounds = arrowHeadRef.current!.getBoundingClientRect() onHeadDropped(headBounds) }} onDrag={() => { const headBounds = arrowHeadRef.current!.getBoundingClientRect() onHeadMoved(headBounds) }} position={{ x: 0, y: 0 }}>
) } export function ScreenHead({ color }: { color: string }) { return (
) } export function MoveToHead({ color }: { color: string }) { return ( ) }