From 0c012a7d3e1a53a49c501fbcb1e318f06dbe42e3 Mon Sep 17 00:00:00 2001
From: Balazs Bajorics <2226774+balazsbajorics@users.noreply.github.com>
Date: Mon, 22 Jan 2024 16:35:02 +0100
Subject: [PATCH 1/2] see if CanvasOffsetWrapper fixes comment indicator
scrolling
---
.../canvas/controls/comment-indicator.tsx | 16 ++++++----------
.../canvas/controls/new-canvas-controls.tsx | 7 ++++---
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/editor/src/components/canvas/controls/comment-indicator.tsx b/editor/src/components/canvas/controls/comment-indicator.tsx
index a2e2dfe41f2b..b7f224ba4962 100644
--- a/editor/src/components/canvas/controls/comment-indicator.tsx
+++ b/editor/src/components/canvas/controls/comment-indicator.tsx
@@ -68,6 +68,7 @@ import * as EP from '../../../core/shared/element-path'
import { useRefAtom } from '../../editor/hook-utils'
import { emptyComments, jsExpressionValue } from '../../../core/shared/element-template'
import * as PP from '../../../core/shared/property-path'
+import { CanvasOffsetWrapper } from './canvas-offset-wrapper'
export const CommentIndicators = React.memo(() => {
const projectId = useEditorState(
@@ -173,7 +174,7 @@ const CommentIndicatorsInner = React.memo(() => {
const temporaryIndicatorData = useCommentBeingComposed()
return (
-
+
{threads.map((thread) => (
))}
@@ -189,7 +190,7 @@ const CommentIndicatorsInner = React.memo(() => {
isRead={false}
/>
) : null}
-
+
)
})
CommentIndicatorsInner.displayName = 'CommentIndicatorInner'
@@ -224,8 +225,8 @@ function getIndicatorStyle(
pointerEvents: dragging ? 'none' : undefined,
cursor: 'auto',
padding: 2,
- position: 'fixed',
- bottom: canvasHeight - position.y - positionAdjust,
+ position: 'absolute',
+ top: position.y, // warning this is no longer bottom positioned, it should be shifted downwards by the height
left: position.x,
background: isRead ? colorTheme.bg1.value : colorTheme.primary.value,
borderRadius: '24px 24px 24px 0px',
@@ -340,11 +341,6 @@ const CommentIndicator = React.memo(({ thread }: CommentIndicatorProps) => {
return !isActive && (hovered || dragging)
}, [hovered, isActive, dragging])
- const position = React.useMemo(
- () => canvasPointToWindowPoint(dragPosition ?? location, canvasScale, canvasOffset),
- [location, canvasScale, canvasOffset, dragPosition],
- )
-
const onMouseOut = React.useCallback(() => {
if (dragging) {
return
@@ -386,7 +382,7 @@ const CommentIndicator = React.memo(({ thread }: CommentIndicatorProps) => {
onMouseDown={onMouseDown}
onClick={onClick}
data-testid='comment-indicator'
- css={getIndicatorStyle(position, {
+ css={getIndicatorStyle(location, {
isRead: isRead,
resolved: thread.metadata.resolved,
isActive: isActive,
diff --git a/editor/src/components/canvas/controls/new-canvas-controls.tsx b/editor/src/components/canvas/controls/new-canvas-controls.tsx
index c309acce40ef..dc1cb5150e1b 100644
--- a/editor/src/components/canvas/controls/new-canvas-controls.tsx
+++ b/editor/src/components/canvas/controls/new-canvas-controls.tsx
@@ -24,6 +24,7 @@ import { ElementContextMenu } from '../../element-context-menu'
import type { Mode } from '../../editor/editor-modes'
import {
isCommentMode,
+ isFollowMode,
isLiveMode,
isSelectMode,
isSelectModeWithArea,
@@ -529,7 +530,7 @@ const NewCanvasControlsInner = (props: NewCanvasControlsInnerProps) => {
onMouseUp={onMouseUp}
>
{when(
- isSelectMode(editorMode) || isCommentMode(editorMode),
+ isSelectMode(editorMode) || isCommentMode(editorMode) || isFollowMode(editorMode),
{
{when(
- isSelectMode(editorMode) || isCommentMode(editorMode),
+ isSelectMode(editorMode) || isCommentMode(editorMode) || isFollowMode(editorMode),
{
{renderTextEditableControls()}
{when(isSelectMode(editorMode), )}
{when(
- isSelectOrInsertMode(editorMode) &&
+ (isSelectOrInsertMode(editorMode) || isFollowMode(editorMode)) &&
!EP.multiplePathsAllWithTheSameUID(localSelectedViews),
<>
{strategyControls.map((c) => (
From 606fb8a6efb168eb00952d87037c8c8666b586b6 Mon Sep 17 00:00:00 2001
From: Balazs Bajorics <2226774+balazsbajorics@users.noreply.github.com>
Date: Mon, 22 Jan 2024 16:36:42 +0100
Subject: [PATCH 2/2] ooops
---
.../src/components/canvas/controls/new-canvas-controls.tsx | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/editor/src/components/canvas/controls/new-canvas-controls.tsx b/editor/src/components/canvas/controls/new-canvas-controls.tsx
index dc1cb5150e1b..c309acce40ef 100644
--- a/editor/src/components/canvas/controls/new-canvas-controls.tsx
+++ b/editor/src/components/canvas/controls/new-canvas-controls.tsx
@@ -24,7 +24,6 @@ import { ElementContextMenu } from '../../element-context-menu'
import type { Mode } from '../../editor/editor-modes'
import {
isCommentMode,
- isFollowMode,
isLiveMode,
isSelectMode,
isSelectModeWithArea,
@@ -530,7 +529,7 @@ const NewCanvasControlsInner = (props: NewCanvasControlsInnerProps) => {
onMouseUp={onMouseUp}
>
{when(
- isSelectMode(editorMode) || isCommentMode(editorMode) || isFollowMode(editorMode),
+ isSelectMode(editorMode) || isCommentMode(editorMode),
{
{when(
- isSelectMode(editorMode) || isCommentMode(editorMode) || isFollowMode(editorMode),
+ isSelectMode(editorMode) || isCommentMode(editorMode),
{
{renderTextEditableControls()}
{when(isSelectMode(editorMode), )}
{when(
- (isSelectOrInsertMode(editorMode) || isFollowMode(editorMode)) &&
+ isSelectOrInsertMode(editorMode) &&
!EP.multiplePathsAllWithTheSameUID(localSelectedViews),
<>
{strategyControls.map((c) => (