From 246e39c332bcc342d9d3b64984e8e4e0bb4fe44e Mon Sep 17 00:00:00 2001 From: Alex TYRODE Date: Sun, 27 Apr 2025 22:50:01 +0000 Subject: [PATCH 1/5] feat: add clickable hint option set to false for embeddables --- src/frontend/src/lib/ExcalidrawElementFactory.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/lib/ExcalidrawElementFactory.ts b/src/frontend/src/lib/ExcalidrawElementFactory.ts index 7c415e8..6fe6ccd 100644 --- a/src/frontend/src/lib/ExcalidrawElementFactory.ts +++ b/src/frontend/src/lib/ExcalidrawElementFactory.ts @@ -121,7 +121,8 @@ export class ExcalidrawElementFactory { type: "embeddable", link: options.link, customData: { - showHyperlinkIcon: false + showHyperlinkIcon: false, + showClickableHint: false } }; } From bb71c90e9e9ba672fdb37266392abc9695e7541a Mon Sep 17 00:00:00 2001 From: Alex TYRODE Date: Sun, 27 Apr 2025 22:50:05 +0000 Subject: [PATCH 2/5] fix: increase debounce time for scroll end event in CustomEmbeddableRenderer --- src/frontend/src/CustomEmbeddableRenderer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/src/CustomEmbeddableRenderer.tsx b/src/frontend/src/CustomEmbeddableRenderer.tsx index 9e6bb87..7c55a3d 100644 --- a/src/frontend/src/CustomEmbeddableRenderer.tsx +++ b/src/frontend/src/CustomEmbeddableRenderer.tsx @@ -106,4 +106,4 @@ const debouncedScrollEnd = debounce(() => { isScrolling = false; // Set pointer-events back to all when not scrolling document.documentElement.style.setProperty('--embeddable-pointer-events', 'all'); -}, 150); // 150ms debounce seems reasonable, but can be adjusted as needed +}, 500); // 150ms debounce seems reasonable, but can be adjusted as needed From 1c1740caea525fb497ad84703c4d11be60781986 Mon Sep 17 00:00:00 2001 From: Alex TYRODE Date: Sun, 27 Apr 2025 23:01:01 +0000 Subject: [PATCH 3/5] feat: add lock indicator for scrolling in CustomEmbeddableRenderer - Introduced a LockIndicator component that displays a lock icon when the user is scrolling. - Updated styles to enhance the visibility and positioning of the lock icon. - Implemented event listeners to manage the visibility of the lock icon based on scroll state. --- .../src/CustomEmbeddableRenderer.scss | 18 ++++++++- src/frontend/src/CustomEmbeddableRenderer.tsx | 40 ++++++++++++++++++- 2 files changed, 55 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/CustomEmbeddableRenderer.scss b/src/frontend/src/CustomEmbeddableRenderer.scss index 7e8bb3d..24a319b 100644 --- a/src/frontend/src/CustomEmbeddableRenderer.scss +++ b/src/frontend/src/CustomEmbeddableRenderer.scss @@ -9,12 +9,28 @@ position: absolute; top: -30px; pointer-events: none; + display: flex; + align-items: center; &__text { font-family: 'Roboto', sans-serif; color: #d3d3d3; pointer-events: none; font-size: 18px; + margin-right: 8px; + } + } + + &__lock-icon { + display: flex; + align-items: center; + justify-content: center; + color: #d3d3d3; + opacity: 0; + transition: opacity 0.3s ease-in-out; + + &.visible { + opacity: 1; } } @@ -31,4 +47,4 @@ border-bottom-right-radius: var(--embeddable-radius); } } -} \ No newline at end of file +} diff --git a/src/frontend/src/CustomEmbeddableRenderer.tsx b/src/frontend/src/CustomEmbeddableRenderer.tsx index 7c55a3d..92a9bb6 100644 --- a/src/frontend/src/CustomEmbeddableRenderer.tsx +++ b/src/frontend/src/CustomEmbeddableRenderer.tsx @@ -1,4 +1,5 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; +import { Lock } from 'lucide-react'; import { debounce } from './utils/debounce'; import type { NonDeleted, ExcalidrawEmbeddableElement } from '@atyrode/excalidraw/element/types'; import type { AppState } from '@atyrode/excalidraw/types'; @@ -65,6 +66,7 @@ export const renderCustomEmbeddable = (
{title}
+
{content} @@ -78,6 +80,7 @@ export const renderCustomEmbeddable = (
{title}
+