Problem
The Onboarding dialog displays two overlapping close (×) buttons in the upper-right corner (see screenshot below):
Cause
- The OnboardingWalkthrough component manually renders its own close button in the header:
<Button variant="ghost" size="icon" ...><X ... /></Button>
- The DialogContent component (from
@object-ui/components) already includes a built-in close button positioned absolutely at the top-right corner.
- These two buttons appear at the same location, resulting in a duplicated UI control and confusion.
Example (from code):
// In OnboardingWalkthrough.tsx
<DialogHeader>
<DialogTitle>...</DialogTitle>
<Button ...><X ... /></Button> // Manually added close button
</DialogHeader>
// In DialogContent (auto-generated via Radix)
<DialogPrimitive.Close ...>
<X ... />
</DialogPrimitive.Close>
Solution
- Remove the manually rendered close button from the OnboardingWalkthrough's DialogHeader, as DialogContent already provides an accessible close control.
- Verify that dismissing the dialog still works via the remaining button and that keyboard/escape functionality behaves correctly via
Dialog's onOpenChange.
References
Screenshot
Severity
Minor – does not block usage but affects UX polish.
Test after fix:
- Only one close button visible
- Dialog dismissal works as expected (button, ESC, clicking outside)
- WCAG accessibility for close button touch targets preserved
Related file: apps/console/src/components/OnboardingWalkthrough.tsx
After completing this task: run tests, update related issues, and update ROADMAP.md. If a change requires work in another ObjectStack repo, create a cross-repo issue in the target repo.
Problem
The Onboarding dialog displays two overlapping close (×) buttons in the upper-right corner (see screenshot below):
Cause
<Button variant="ghost" size="icon" ...><X ... /></Button>@object-ui/components) already includes a built-in close button positioned absolutely at the top-right corner.Example (from code):
Solution
Dialog'sonOpenChange.References
packages/components/src/ui/dialog.tsxapps/console/src/components/OnboardingWalkthrough.tsxScreenshot
Severity
Minor – does not block usage but affects UX polish.
Test after fix:
Related file:
apps/console/src/components/OnboardingWalkthrough.tsx