diff --git a/website/canvas.html b/website/canvas.html
index e4045e3..a29a08c 100644
--- a/website/canvas.html
+++ b/website/canvas.html
@@ -3215,6 +3215,7 @@
let ghostEl = null;
function setPendingTool(tagName, props = {}) {
+ if (wbTool) setWbTool(null); // clear whiteboard tool when switching
pendingTool = { tagName, props };
canvas.style.cursor = "crosshair";
@@ -3270,10 +3271,11 @@
}
});
- // ESC clears pending tool
+ // ESC returns to default selector tool
document.addEventListener("keydown", (e) => {
- if (e.key === "Escape" && pendingTool) {
- clearPendingTool();
+ if (e.key === "Escape") {
+ if (wbTool) setWbTool(null);
+ if (pendingTool) clearPendingTool();
}
});
@@ -3561,6 +3563,7 @@
const newArrowBtn = document.getElementById("new-arrow");
newArrowBtn.addEventListener("click", () => {
+ if (wbTool) setWbTool(null); // clear whiteboard tool
connectMode = !connectMode;
newArrowBtn.classList.toggle("active", connectMode);
canvas.classList.toggle("connect-mode", connectMode);
@@ -3770,6 +3773,11 @@
wbPreviewEl = null;
wbCurrentPath = [];
+
+ // Drawing tools are temporary — return to selector after one stroke
+ if (wbTool && wbTool !== "eraser") {
+ setWbTool(null);
+ }
});
// Eraser: click on existing SVG strokes to delete them + remove from Automerge