Description
The toggle buttons on component documentation pages do not respond to clicks when using Safari. They work correctly in Chrome.
Affected buttons:
- Preview / Code toggle at the top of the component preview card
- CLI / Manual toggle in the Installation section
Steps to reproduce
- Open Safari
- Navigate to any component docs page, e.g.
/docs/components/button
- Click the Code button at the top of the preview card → nothing happens
- Click the Manual tab in the Installation section → nothing happens
- Same actions work correctly in Chrome
Expected behaviour
Clicking the buttons should toggle the displayed content (preview ↔ source code, CLI install ↔ manual install).
Environment
- Browser: Safari (macOS)
- OS: macOS
Possible cause
The tabs use Leptos reactive signals (current_tab.get()) with conditional display: block/none styling. There is even a TODO comment in app/src/domain/markdown_ui/components/static_demo_wrapper.rs:141:
// TODO 🚑 Show does not work at the moment. Using display as shortfix solution.
This suggests there is a known issue with <Show> which prompted the workaround. The current workaround may have additional issues in Safari around hydration or event handler binding that don't appear in Chrome.
Description
The toggle buttons on component documentation pages do not respond to clicks when using Safari. They work correctly in Chrome.
Affected buttons:
Steps to reproduce
/docs/components/buttonExpected behaviour
Clicking the buttons should toggle the displayed content (preview ↔ source code, CLI install ↔ manual install).
Environment
Possible cause
The tabs use Leptos reactive signals (
current_tab.get()) with conditionaldisplay: block/nonestyling. There is even aTODOcomment inapp/src/domain/markdown_ui/components/static_demo_wrapper.rs:141:// TODO 🚑 Show does not work at the moment. Using display as shortfix solution.This suggests there is a known issue with
<Show>which prompted the workaround. The current workaround may have additional issues in Safari around hydration or event handler binding that don't appear in Chrome.