import type { MetaFunction } from "@remix-run/cloudflare"; import DragableBox from "./DragableBox"; import { useEffect, useRef, useState } from "react"; import { PhAngle } from "./PhAngle"; export const meta: MetaFunction = () => { return [ { title: "Convert images for the web!" }, { name: "image converter", content: "Image conversion service" }, ]; }; export default function Index() { const [selectorHeight, setSelectorHeight] = useState(0); const [selectorWidth, setSelectorWidth] = useState(0); const [selectorTop, setSelectorTop] = useState(0); const [selectorLeft, setSelectorLeft] = useState(0); const [firstDragable, setFirstDragable] = useState({ x: 0, y: 0 }) const [containerWidth, setContainerWidth] = useState(null) const [containerHeight, setContainerHeight] = useState(null) const [secondDragable, setSecondDragable] = useState({ x: 0, y: 0 }) const containerRef = useRef(null) useEffect(() => { const updateContainerSize = () => { if (containerRef.current) { setContainerWidth(containerRef.current.offsetWidth); setContainerHeight(containerRef.current.offsetHeight); } } window.addEventListener('resize', updateContainerSize); return () => window.removeEventListener('resize', updateContainerSize); }, [containerRef]) useEffect(() => { const width = Math.abs(secondDragable.x - firstDragable.x); setSelectorWidth(width); const height = Math.abs(secondDragable.y - firstDragable.y); setSelectorHeight(height); setSelectorTop(Math.min(firstDragable.y, secondDragable.y)); setSelectorLeft(Math.min(firstDragable.x, secondDragable.x)); }, [firstDragable, secondDragable]); return (
{containerHeight !== null && containerWidth !== null && ( <>
)}
{containerWidth} - {containerHeight}
); }