refact: moved konva files out of test dir

This commit is contained in:
Joshua Shoemaker 2023-06-27 08:35:21 -05:00
parent 45e8ec2be3
commit 2d1f98155d
9 changed files with 24 additions and 28 deletions

View File

@ -2,8 +2,8 @@
import React, { useState } from 'react' import React, { useState } from 'react'
import { Group, Rect } from 'react-konva' import { Group, Rect } from 'react-konva'
import { entities } from '../../../wailsjs/wailsjs/go/models' import { entities } from '../../wailsjs/wailsjs/go/models'
import { useProject } from '../../../context/Project/provider' import { useProject } from '../../context/Project/provider'
import { KonvaEventObject } from 'konva/lib/Node' import { KonvaEventObject } from 'konva/lib/Node'
import Konva from 'konva' import Konva from 'konva'
import AreaContextMenu from './AreaContextMenu' import AreaContextMenu from './AreaContextMenu'

View File

@ -1,12 +1,12 @@
'use client' 'use client'
import React from 'react' import React from 'react'
import { entities } from '../../../../wailsjs/wailsjs/go/models' import { entities } from '../../../wailsjs/wailsjs/go/models'
import { Html } from 'react-konva-utils' import { Html } from 'react-konva-utils'
import { copyButtonColors, deleteButtonColors, makeFormStyles, makeSharedButtonStyles, reprocessButtonColors, setMutableStylesOnElement, setPosition, setScale } from './styles' import { copyButtonColors, deleteButtonColors, makeFormStyles, makeSharedButtonStyles, reprocessButtonColors, setMutableStylesOnElement, setPosition, setScale } from './styles'
import { useProject } from '../../../../context/Project/provider' import { useProject } from '../../../context/Project/provider'
import asyncClick from '../../../../utils/asyncClick' import asyncClick from '../../../utils/asyncClick'
import processImageArea from '../../../../useCases/processImageArea' import processImageArea from '../../../useCases/processImageArea'
type Props = { type Props = {
x: number, x: number,

View File

@ -2,8 +2,8 @@
import React, { useState } from 'react' import React, { useState } from 'react'
import { Group } from 'react-konva' import { Group } from 'react-konva'
import { useProject } from '../../../context/Project/provider' import { useProject } from '../../context/Project/provider'
import { entities } from '../../../wailsjs/wailsjs/go/models' import { entities } from '../../wailsjs/wailsjs/go/models'
import Area from './Area' import Area from './Area'
import ProcessedWord from './ProcessedWord' import ProcessedWord from './ProcessedWord'
import EditingWord from './EditingWord' import EditingWord from './EditingWord'

View File

@ -4,12 +4,12 @@ import React, { useRef, useState } from 'react'
import { Stage, Layer, Image, } from 'react-konva' import { Stage, Layer, Image, } from 'react-konva'
import { KonvaEventObject } from 'konva/lib/Node' import { KonvaEventObject } from 'konva/lib/Node'
import Areas from './Areas' import Areas from './Areas'
import { useProject } from '../../../context/Project/provider' import { useProject } from '../../context/Project/provider'
import useImage from 'use-image' import useImage from 'use-image'
import { RectangleCoordinates } from '../types' import { RectangleCoordinates } from './types'
import DrawingArea from './DrawingArea' import DrawingArea from './DrawingArea'
import getNormalizedRectToBounds from '../../../utils/getNormalizedRectToBounds' import getNormalizedRectToBounds from '../../utils/getNormalizedRectToBounds'
import processImageArea from '../../../useCases/processImageArea' import processImageArea from '../../useCases/processImageArea'
type Props = { type Props = {
scale: number, scale: number,
@ -23,7 +23,7 @@ let downClickX: number
let downClickY: number let downClickY: number
let isDrawing = false let isDrawing = false
const KonvaTest = ({ scale, scaleStep, maxScale, setScale, size }: Props) => { const CanvasStage = ({ scale, scaleStep, maxScale, setScale, size }: Props) => {
const { getSelectedDocument, requestAddArea, setSelectedAreaId } = useProject() const { getSelectedDocument, requestAddArea, setSelectedAreaId } = useProject()
const [documentImage] = useImage(getSelectedDocument()?.path || '') const [documentImage] = useImage(getSelectedDocument()?.path || '')
const documentRef = useRef(null) const documentRef = useRef(null)
@ -100,4 +100,4 @@ const KonvaTest = ({ scale, scaleStep, maxScale, setScale, size }: Props) => {
</Stage> </Stage>
} }
export default KonvaTest export default CanvasStage

View File

@ -1,8 +1,8 @@
import React from 'react' import React from 'react'
import { Html } from 'react-konva-utils' import { Html } from 'react-konva-utils'
import { entities } from '../../../wailsjs/wailsjs/go/models' import { entities } from '../../wailsjs/wailsjs/go/models'
import { useProject } from '../../../context/Project/provider' import { useProject } from '../../context/Project/provider'
import onEnterHandler from '../../../utils/onEnterHandler' import onEnterHandler from '../../utils/onEnterHandler'
type Props = { type Props = {
scale: number, scale: number,

View File

@ -2,7 +2,7 @@
import React from 'react' import React from 'react'
import { Group, Rect, Text } from 'react-konva' import { Group, Rect, Text } from 'react-konva'
import { entities } from '../../../wailsjs/wailsjs/go/models' import { entities } from '../../wailsjs/wailsjs/go/models'
type Props = { type Props = {
area: entities.ProcessedArea, area: entities.ProcessedArea,

View File

@ -1,22 +1,18 @@
'use client' 'use client'
import dynamic from 'next/dynamic' import dynamic from 'next/dynamic'
import React, { useEffect, useLayoutEffect, useRef, useState } from 'react' import React, { useEffect, useRef, useState } from 'react'
import { useProject, } from '../../context/Project/provider' import { useProject, } from '../../context/Project/provider'
import { MagnifyingGlassMinusIcon, MagnifyingGlassPlusIcon } from '@heroicons/react/24/outline' import { MagnifyingGlassMinusIcon, MagnifyingGlassPlusIcon } from '@heroicons/react/24/outline'
import classNames from '../../utils/classNames'
import LanguageSelect from '../workspace/LanguageSelect' import LanguageSelect from '../workspace/LanguageSelect'
import ImageCanvas from './ImageCanvas'
import AreaCanvas from './AreaCanvas' const CanvasStage = dynamic(() => import('./CanvasStage'), {
import UiCanvas from './UiCanvas' ssr: false,
})
const zoomStep = 0.01 const zoomStep = 0.01
const maxZoomLevel = 4 const maxZoomLevel = 4
const KonvaTest = dynamic(() => import('./konva'), {
ssr: false,
})
const DocumentCanvas = () => { const DocumentCanvas = () => {
const { getSelectedDocument } = useProject() const { getSelectedDocument } = useProject()
const selectedDocument = getSelectedDocument() const selectedDocument = getSelectedDocument()
@ -56,7 +52,7 @@ const DocumentCanvas = () => {
</div> </div>
<div className='h-full overflow-hidden rounded-lg border-4 border-dashed border-gray-200'> <div className='h-full overflow-hidden rounded-lg border-4 border-dashed border-gray-200'>
<KonvaTest size={size} scale={zoomLevel} scaleStep={zoomStep} setScale={setZoomLevel} maxScale={maxZoomLevel} /> <CanvasStage size={size} scale={zoomLevel} scaleStep={zoomStep} setScale={setZoomLevel} maxScale={maxZoomLevel} />
</div> </div>
</div > </div >
} }