Style agent links + fix dock toggle and popup rounded corners#7
Merged
Conversation
…ty queries Three related chat-widget issues, fixed without a JS-tracked isMobile flag (which never populated — the iframe route read $request->isMobile for a query named `mobile`, so the store flag was permanently false, and Tailwind sm: breakpoints query the 375px iframe, not the host device). Dock toggle + popup chrome: gate visibility/rounding on @media (hover: hover) and (pointer: fine) instead of viewport width. Pointer/hover media queries inside an iframe report the host device's input capabilities, so the dock-as-sidebar control shows on mouse-driven devices and hides on touch, and the popup gets its rounded corners/border back on desktop. New .sbm-fine-pointer-only / .sbm-popup-chrome / .sbm-header-chrome.sbm-undocked classes carry this; the dead isMobile config path is removed from routes/web.php. Agent-emitted links: add configurable theme settings (linkColor, linkUnderline) wired through CSS custom properties on the bot-message body, so links render with a visible color + underline instead of default black. Host apps override the color to match brand. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Chat-widget chrome polish, all driven by device capability rather than a JS
isMobileflag (which never populated — the iframe route read$request->isMobilefor a query param actually namedmobile; a later attempt used Tailwindsm:breakpoints, but those query the 375px iframe, never the host device).@media (hover: hover) and (pointer: fine)via.sbm-fine-pointer-only: shows on mouse/trackpad, hides on touch.sm:-in-an-iframe bug; restored via.sbm-popup-chrome/.sbm-header-chrome.sbm-undockedunder the same media query.mainColorelements; adjacent ones leaked a 1px sliver of the iframe white. Closed with-mb-pxoverlap on the header bar and heading slot.beaconSize+15with the circle centered, so the badge sat ~7.5px farther from the corner than intended. Desktop/mobile offsets dropped to 33/13px so the circle lands ~40/20px from the corner.linkColor/linkUnderlinetheme settings wired through CSS custom properties on the bot-message body (mirrors the existingmainColorpattern). Host apps override the color to match brand.isMobileconfig path fromroutes/web.php.Independent of the input-height/header-seam PR #6.
Test plan
linkColor/linkUnderline.🤖 Generated with Claude Code