import useHandleEvents from 'hooks/useHandleEvents'
import { getShapeUtils } from 'lib/shape-utils'
import { useRef } from 'react'
import { useSelector } from 'state'
import styled from 'styles'
import { deepCompareArrays, getPage } from 'utils/utils'
import * as vec from 'utils/vec'
import { DotCircle } from '../misc'
export default function Handles() {
  const selectedIds = useSelector(
    (s) => Array.from(s.values.selectedIds.values()),
    deepCompareArrays
  )
  const shape = useSelector(
    ({ data }) =>
      selectedIds.length === 1 && getPage(data).shapes[selectedIds[0]]
  )
  const isSelecting = useSelector((s) => s.isIn('selecting.notPointing'))
  if (!shape.handles || !isSelecting) return null
  return (
    
      {Object.values(shape.handles).map((handle) => (
        
      ))}
    
  )
}
function Handle({
  shapeId,
  id,
  point,
}: {
  shapeId: string
  id: string
  point: number[]
}) {
  const rGroup = useRef(null)
  const events = useHandleEvents(id, rGroup)
  return (
    
      
      
    
  )
}
const HandleCircleOuter = styled('circle', {
  fill: 'transparent',
  pointerEvents: 'all',
  cursor: 'pointer',
})
const HandleCircle = styled('circle', {
  zStrokeWidth: 2,
  stroke: '$text',
  fill: '$panel',
  pointerEvents: 'none',
})