improvement(tour): align product tour tooltip styling with emcn and fix spotlight overflow#3854
Conversation
…ix spotlight overflow
PR SummaryMedium Risk Overview Improves tour stability by deriving Written by Cursor Bugbot for commit 3759ebb. Configure here. |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis PR is a focused polish pass on the product tour: it aligns tooltip styling with the emcn design system, fixes a sidebar spotlight overflow, eliminates a
Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant App
participant useTour
participant Joyride
participant TourTooltipAdapter
participant TourTooltip
App->>useTour: run = true
useTour->>Document: scrollbarGutter = "stable"
useTour->>Joyride: run=true, stepIndex, handleCallback
Joyride->>TourTooltipAdapter: render(TooltipRenderProps)
TourTooltipAdapter->>Document: querySelector(step.target) — sync during render
TourTooltipAdapter->>TourTooltip: targetEl, placement, isVisible, isEntrance
TourTooltip->>Document.body: createPortal(PopoverPrimitive / centered div)
Note over useTour: User clicks Next
useTour->>useTour: setIsTooltipVisible(false)
useTour->>useTour: setTimeout(FADE_OUT_MS) → setStepIndex(n+1)
useTour->>useTour: rAF×2 → setIsTooltipVisible(true)
Note over App: Tour ends / component unmounts
useTour->>Document: restore previous scrollbarGutter
Reviews (1): Last reviewed commit: "improvement(tour): align product tour to..." | Re-trigger Greptile |
Summary
text-small,text-caption,text-xs),rounded-xl,ring-1 ring-foreground/10andshadow-overlaymatchingModalContent, tinted footer background matchingModalFooterscrollbar-gutter: stableon<html>while tour is activeuseState+useEffectanti-pattern fortargetElinTourTooltipAdapter— derive directly during render since Joyride only renders client-side after the target is in the DOMmx-2to their section containers (matching the width of individual nav items)filterstyle with adrop-shadow-tourTailwind utility in the config, consistent with how other shadows are handledType of Change
Testing
Tested manually
Checklist