mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-12 17:01:05 +00:00
26 lines
771 B
TypeScript
26 lines
771 B
TypeScript
import { useCallback, useRef } from "react";
|
|
import { useRenderCounter } from "~/hooks/useRenderCounter";
|
|
import { EditEngine } from "~/KonvaApp/EditEngine";
|
|
import { KonvaCanvasContainer } from "~/KonvaRootComponent/KonvaCanvasContainer";
|
|
|
|
export const EditModeRootComponent = ({ className }: { className: string }) => {
|
|
useRenderCounter("EditModeRootComponent");
|
|
|
|
const editEngineRef = useRef<EditEngine | null>(null);
|
|
|
|
const konvaContainerCallbackRef = useCallback((node: HTMLDivElement) => {
|
|
if (node !== null && editEngineRef.current === null) {
|
|
editEngineRef.current = new EditEngine(node);
|
|
}
|
|
}, []);
|
|
|
|
return (
|
|
<>
|
|
<KonvaCanvasContainer
|
|
className={className}
|
|
ref={konvaContainerCallbackRef}
|
|
/>
|
|
</>
|
|
);
|
|
};
|