From 22cd773688dfc9e7efe8fdabbf20c952479144d1 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Mon, 22 Dec 2025 22:07:59 -0500 Subject: [PATCH] fix: improve onboarding tour first step to show full canvas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add noSpotlight option for steps that dim the canvas without a cutout - Add center placement for viewport-centered tooltips - Update first step to welcome users to the full canvas space - Replace arbitrary square highlight with uniform overlay 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/ui/OnboardingTour/TourTooltip.tsx | 25 +++++++++++++++++++++++-- src/ui/OnboardingTour/tourSteps.ts | 20 +++++++++++--------- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/ui/OnboardingTour/TourTooltip.tsx b/src/ui/OnboardingTour/TourTooltip.tsx index d56bd30..418f655 100644 --- a/src/ui/OnboardingTour/TourTooltip.tsx +++ b/src/ui/OnboardingTour/TourTooltip.tsx @@ -27,6 +27,12 @@ function calculateTooltipPosition( const centerY = top + height / 2 switch (placement) { + case 'center': + // Center in viewport + return { + top: window.innerHeight / 2 - tooltipHeight / 2, + left: window.innerWidth / 2 - tooltipWidth / 2 + } case 'top': return { top: top - tooltipHeight - gap, left: centerX - tooltipWidth / 2 } case 'bottom': @@ -118,8 +124,23 @@ export function TourTooltip({ return ( <> - {/* Spotlight overlay with cutout */} - {targetRect && ( + {/* Spotlight overlay with cutout (or full overlay for noSpotlight steps) */} + {step.noSpotlight ? ( + // Full overlay without cutout for intro/welcome steps +
+ ) : targetRect && (