{"ast":null,"code":"var _s = $RefreshSig$();\nimport { useState, useRef } from 'react';\nimport { map } from '../function/canvasDefault';\nexport function useCanvasHooks(size, divisor, COLORS, initialRange) {\n  _s();\n  const [pitch, setPitch] = useState(null);\n  const [mouseHeight, setMouseHeight] = useState(0);\n  const {\n    realVoiceColor,\n    targetVoiceColor,\n    closeVoiceColor\n  } = COLORS;\n  const [ballYCurr, setBallYCurr] = useState(size[0]);\n  const canvasRef = useRef(null);\n  const rectWidth = 5;\n  const CanvasLength = size[1]; // 1400\n  const [canvasHeight, setCanvasHeight] = useState(0);\n  const [showNotes, setShowNotes] = useState(false);\n  const offset = 5;\n  const initialcurrentX = 0;\n  const [currentX, setCurrentX] = useState(initialcurrentX);\n  const [notesLabel, setNotesLabel] = useState();\n  const [freqLabel, setFreqLabel] = useState();\n  const [pitchDiff, setPitchDiff] = useState([0, 100]);\n  function updateBallY(value) {\n    if (value === null) {\n      value = 0;\n    }\n    if (value <= initialRange[0]) {\n      setBallYCurr(size[0]);\n    } else if (value > initialRange[1]) {\n      setBallYCurr(0);\n    } else {\n      setBallYCurr(map(value, initialRange[0], initialRange[1], size[0], -1));\n    }\n  }\n  const updateCanvasHeight = () => {\n    if (canvasRef.current) {\n      const rect = canvasRef.current.getBoundingClientRect();\n      setCanvasHeight(rect.height);\n    }\n  };\n  const handleMouseMove = event => {\n    if (canvasRef.current) {\n      const rect = canvasRef.current.getBoundingClientRect();\n      const y = event.clientY - rect.top;\n      const heightPercentage = y / rect.height * 100;\n      setMouseHeight(heightPercentage);\n    }\n  };\n  return {\n    pitch,\n    setPitch,\n    mouseHeight,\n    setMouseHeight,\n    realVoiceColor,\n    targetVoiceColor,\n    closeVoiceColor,\n    ballYCurr,\n    setBallYCurr,\n    canvasRef,\n    rectWidth,\n    CanvasLength,\n    canvasHeight,\n    setCanvasHeight,\n    showNotes,\n    setShowNotes,\n    updateBallY,\n    offset,\n    currentX,\n    setCurrentX,\n    initialcurrentX,\n    notesLabel,\n    setNotesLabel,\n    freqLabel,\n    setFreqLabel,\n    pitchDiff,\n    setPitchDiff,\n    updateCanvasHeight,\n    // toggleShowNotes,\n    handleMouseMove\n  };\n}\n_s(useCanvasHooks, \"MI9jeYSBHwUTCI0wS39TN0VcwBI=\");","map":{"version":3,"names":["useState","useRef","map","useCanvasHooks","size","divisor","COLORS","initialRange","_s","pitch","setPitch","mouseHeight","setMouseHeight","realVoiceColor","targetVoiceColor","closeVoiceColor","ballYCurr","setBallYCurr","canvasRef","rectWidth","CanvasLength","canvasHeight","setCanvasHeight","showNotes","setShowNotes","offset","initialcurrentX","currentX","setCurrentX","notesLabel","setNotesLabel","freqLabel","setFreqLabel","pitchDiff","setPitchDiff","updateBallY","value","updateCanvasHeight","current","rect","getBoundingClientRect","height","handleMouseMove","event","y","clientY","top","heightPercentage"],"sources":["/var/www/gavt/src/hooks/useCanvasHooks.ts"],"sourcesContent":["import { useState, useRef } from 'react';\nimport { COLORS } from '../types/configTypes';\nimport { adjustCanvasScale, map, drawBackground } from '../function/canvasDefault';\n\nexport function useCanvasHooks(size:number[], divisor:number, COLORS:COLORS,initialRange:number[]) {\n    const [pitch, setPitch] = useState<number | null>(null);\n    const [mouseHeight, setMouseHeight] = useState<number>(0);\n    const { realVoiceColor, targetVoiceColor, closeVoiceColor } = COLORS;\n    const [ballYCurr, setBallYCurr] = useState<number>(size[0]);\n    const canvasRef = useRef<HTMLCanvasElement>(null);\n    const rectWidth = 5;\n    const CanvasLength = size[1]; // 1400\n    const [canvasHeight, setCanvasHeight] = useState(0);\n    const [showNotes, setShowNotes] = useState(false);\n    const offset = 5;\n    const initialcurrentX = 0;\n    const [currentX, setCurrentX] = useState(initialcurrentX);\n    const [notesLabel,setNotesLabel] = useState<string[]>();\n    const [freqLabel,setFreqLabel] = useState<string[]>();\n    const [pitchDiff,setPitchDiff] = useState<number[]>([0,100]);\n    function updateBallY(value: number | null): void {\n        if (value === null) {\n            value = 0;\n        }\n        if (value <= initialRange[0]) {\n            setBallYCurr(size[0]);\n        } else if (value > initialRange[1]) {\n            setBallYCurr(0);\n        } else {\n            setBallYCurr(map(value, initialRange[0], initialRange[1], size[0], -1));\n        }\n    }\n\n    const updateCanvasHeight = () => {\n        if (canvasRef.current) {\n            const rect = canvasRef.current.getBoundingClientRect();\n            setCanvasHeight(rect.height);\n        }\n    };\n\n    const handleMouseMove = (event: React.MouseEvent<HTMLCanvasElement>) => {\n        if (canvasRef.current) {\n          const rect = canvasRef.current.getBoundingClientRect();\n          const y = event.clientY - rect.top;\n          const heightPercentage = (y / rect.height) * 100;\n          setMouseHeight(heightPercentage);\n        }\n      };\n\n    return {\n        pitch,\n        setPitch,\n        mouseHeight,\n        setMouseHeight,\n        realVoiceColor,\n        targetVoiceColor,\n        closeVoiceColor,\n        ballYCurr,\n        setBallYCurr,\n        canvasRef,\n        rectWidth,\n        CanvasLength,\n        canvasHeight,\n        setCanvasHeight,\n        showNotes,\n        setShowNotes,\n        updateBallY,\n        offset,\n        currentX,\n        setCurrentX,\n        initialcurrentX,\n        notesLabel,\n        setNotesLabel,\n        freqLabel,\n        setFreqLabel,\n        pitchDiff,\n        setPitchDiff,\n        updateCanvasHeight,\n        // toggleShowNotes,\n        handleMouseMove,\n\n\n    };\n}"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}