Skip to content

Commit 84ed105

Browse files
committed
disable lint & move styling
1 parent c73ab4b commit 84ed105

File tree

4 files changed

+27
-83
lines changed

4 files changed

+27
-83
lines changed

packages/feedback/src/screenshot/components/ScreenshotEditor.tsx

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
// eslint-disable max-lines
12
import type { ComponentType, VNode, h as hType } from 'preact';
2-
// biome-ignore lint/nursery/noUnusedImports: reason
33
import { h } from 'preact'; // eslint-disable-line @typescript-eslint/no-unused-vars
44
import { useCallback, useEffect, useMemo, useRef, useState } from 'preact/hooks';
55
import { DOCUMENT, WINDOW } from '../../constants';
@@ -40,7 +40,7 @@ const constructRect = (box: Box): Rect => {
4040
};
4141
};
4242

43-
const containedImage = (img: HTMLCanvasElement): Box => {
43+
const getContainedSize = (img: HTMLCanvasElement): Box => {
4444
const ratio = img.width / img.height;
4545
let width = img.clientHeight * ratio;
4646
let height = img.clientHeight;
@@ -70,7 +70,7 @@ export function makeScreenshotEditorComponent({ h, imageBuffer, dialog }: Factor
7070

7171
function resizeCropper(): void {
7272
const cropper = croppingRef.current;
73-
const imageDimensions = constructRect(containedImage(imageBuffer));
73+
const imageDimensions = constructRect(getContainedSize(imageBuffer));
7474
if (cropper) {
7575
cropper.width = imageDimensions.width;
7676
cropper.height = imageDimensions.height;
@@ -88,10 +88,6 @@ export function makeScreenshotEditorComponent({ h, imageBuffer, dialog }: Factor
8888
}
8989

9090
useEffect(() => {
91-
refreshCroppingBox();
92-
}, [croppingRect]);
93-
94-
function refreshCroppingBox(): void {
9591
const cropper = croppingRef.current;
9692
if (!cropper) {
9793
return;
@@ -101,7 +97,7 @@ export function makeScreenshotEditorComponent({ h, imageBuffer, dialog }: Factor
10197
if (!ctx) {
10298
return;
10399
}
104-
const imageDimensions = constructRect(containedImage(imageBuffer));
100+
const imageDimensions = constructRect(getContainedSize(imageBuffer));
105101
const croppingBox = constructRect(croppingRect);
106102

107103
ctx.clearRect(0, 0, imageDimensions.width, imageDimensions.height);
@@ -115,6 +111,19 @@ export function makeScreenshotEditorComponent({ h, imageBuffer, dialog }: Factor
115111
ctx.strokeStyle = 'purple';
116112
ctx.lineWidth = 3;
117113
ctx.strokeRect(croppingBox.x, croppingBox.y, croppingBox.width, croppingBox.height);
114+
}, [croppingRect]);
115+
116+
function onGrabButton(e: Event, corner: string): void {
117+
setConfirmCrop(false);
118+
const handleMouseMove = makeHandleMouseMove(corner);
119+
const handleMouseUp = (): void => {
120+
croppingRef.current && croppingRef.current.removeEventListener('mousemove', handleMouseMove);
121+
DOCUMENT.removeEventListener('mouseup', handleMouseUp);
122+
setConfirmCrop(true);
123+
};
124+
125+
DOCUMENT.addEventListener('mouseup', handleMouseUp);
126+
croppingRef.current && croppingRef.current.addEventListener('mousemove', handleMouseMove);
118127
}
119128

120129
const makeHandleMouseMove = useCallback((corner: string) => {
@@ -152,22 +161,9 @@ export function makeScreenshotEditorComponent({ h, imageBuffer, dialog }: Factor
152161
};
153162
}, []);
154163

155-
function onGrabButton(e: Event, corner: string): void {
156-
setConfirmCrop(false);
157-
const handleMouseMove = makeHandleMouseMove(corner);
158-
const handleMouseUp = (): void => {
159-
croppingRef.current && croppingRef.current.removeEventListener('mousemove', handleMouseMove);
160-
DOCUMENT.removeEventListener('mouseup', handleMouseUp);
161-
setConfirmCrop(true);
162-
};
163-
164-
DOCUMENT.addEventListener('mouseup', handleMouseUp);
165-
croppingRef.current && croppingRef.current.addEventListener('mousemove', handleMouseMove);
166-
}
167-
168164
function submit(): void {
169165
const cutoutCanvas = DOCUMENT.createElement('canvas');
170-
const imageBox = constructRect(containedImage(imageBuffer));
166+
const imageBox = constructRect(getContainedSize(imageBuffer));
171167
const croppingBox = constructRect(croppingRect);
172168
cutoutCanvas.width = croppingBox.width;
173169
cutoutCanvas.height = croppingBox.height;
@@ -257,7 +253,6 @@ export function makeScreenshotEditorComponent({ h, imageBuffer, dialog }: Factor
257253
></CropCorner>
258254
<div
259255
style={{
260-
position: 'absolute',
261256
left: Math.max(0, croppingRect.endx - 191),
262257
top: Math.max(0, croppingRect.endy + 8),
263258
display: confirmCrop ? 'flex' : 'none',
@@ -312,13 +307,10 @@ function CropCorner({
312307
}): VNode {
313308
return (
314309
<button
310+
class="crop-btn"
315311
style={{
316-
width: 30,
317-
height: 30,
318-
position: 'absolute',
319312
top: top,
320313
left: left,
321-
background: 'none',
322314
borderTop: corner === 'topleft' || corner === 'topright' ? 'solid purple' : 'none',
323315
borderLeft: corner === 'topleft' || corner === 'bottomleft' ? 'solid purple' : 'none',
324316
borderRight: corner === 'topright' || corner === 'bottomright' ? 'solid purple' : 'none',

packages/feedback/src/screenshot/components/ScreenshotInput.css.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ export function createScreenshotInputStyles(): HTMLStyleElement {
5858
border-radius: var(--form-content-border-radius);
5959
background-color: var(--background);
6060
width: 175px;
61+
position: absolute;
62+
}
63+
64+
.crop-btn {
65+
width: 30px;
66+
height: 30px;
67+
position: absolute;
68+
background: none;
6169
}
6270
`;
6371

packages/feedback/src/screenshot/components/useContainerSize.tsx

Lines changed: 0 additions & 30 deletions
This file was deleted.

packages/feedback/src/screenshot/components/useResizeObserver.tsx

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)