Skip to content

Commit 3488d5b

Browse files
committed
Fix color picker's broken gradient stop selection due to Svelte 5 not treating components as classes
1 parent 5e61d59 commit 3488d5b

2 files changed

Lines changed: 12 additions & 13 deletions

File tree

frontend/src/components/floating-menus/ColorPicker.svelte

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -286,9 +286,7 @@
286286
const colorToEmit = color || new Color({ h: hue, s: saturation, v: value, a: alpha });
287287
288288
const stop = gradientSpectrumInputWidget && activeIndex !== undefined && gradient?.atIndex(activeIndex);
289-
if (stop && gradientSpectrumInputWidget instanceof SpectrumInput) {
290-
stop.color = colorToEmit;
291-
}
289+
if (stop) stop.color = colorToEmit;
292290
293291
dispatch("colorOrGradient", gradient || colorToEmit);
294292
}
@@ -347,17 +345,17 @@
347345
348346
function setColorPreset(preset: PresetColors) {
349347
dispatch("startHistoryTransaction");
348+
350349
if (preset === "none") {
351350
setNewHSVA(0, 0, 0, 1, true);
352351
setColor(new Color("none"));
353-
return;
354-
}
355-
356-
const presetColor = new Color(...PURE_COLORS[preset], 1);
357-
const hsva = presetColor.toHSVA() || { h: 0, s: 0, v: 0, a: 0 };
352+
} else {
353+
const presetColor = new Color(...PURE_COLORS[preset], 1);
354+
const hsva = presetColor.toHSVA() || { h: 0, s: 0, v: 0, a: 0 };
358355
359-
setNewHSVA(hsva.h, hsva.s, hsva.v, hsva.a, false);
360-
setColor(presetColor);
356+
setNewHSVA(hsva.h, hsva.s, hsva.v, hsva.a, false);
357+
setColor(presetColor);
358+
}
361359
}
362360
363361
function setNewHSVA(h: number, s: number, v: number, a: number, none: boolean) {
@@ -479,9 +477,7 @@
479477
<SpectrumInput
480478
{gradient}
481479
{disabled}
482-
on:gradient={() => {
483-
if (gradient) dispatch("colorOrGradient", gradient);
484-
}}
480+
on:gradient={() => dispatch("colorOrGradient", gradient)}
485481
on:activeMarkerIndexChange={gradientActiveMarkerIndexChange}
486482
activeMarkerIndex={activeIndex}
487483
on:dragging={({ detail }) => (gradientSpectrumDragging = detail)}

frontend/src/state-providers/tooltip.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ export function createTooltipState(editor: Editor) {
4040
// Before we schedule a new future tooltip appearance, we clear the existing one
4141
if (tooltipTimeout) clearTimeout(tooltipTimeout);
4242

43+
// Don't show tooltips while mouse buttons are pressed
44+
if (e.buttons !== 0) return;
45+
4346
// Schedule the tooltip to appear at this cursor position after a delay
4447
tooltipTimeout = setTimeout(() => {
4548
update((state) => {

0 commit comments

Comments
 (0)