13 lines
776 B
TypeScript
13 lines
776 B
TypeScript
"use client";
|
|
import { CanvasImage } from "./canvas-image";
|
|
import { managedImageSource } from "@/lib/canvas-v2";
|
|
import { useViewport, type NodeProps } from "@xyflow/react";
|
|
import type { CanvasNode } from "@/lib/canvas";
|
|
import { TransformableNode } from "./transformable-node";
|
|
import styles from "./canvas.module.css";
|
|
export function PlainImageNode(props: NodeProps<CanvasNode>) {
|
|
const { zoom } = useViewport();
|
|
const preview = (props.width || 320) * zoom * (typeof window === "undefined" ? 1 : window.devicePixelRatio || 1) <= 1024;
|
|
return <TransformableNode {...props} className={styles.plainImageFrame}><CanvasImage id={props.id} className={styles.plainImage} src={managedImageSource(props.data.src, preview)} title={props.data.title} /></TransformableNode>;
|
|
}
|