Skip to content

[Docs][UI] - Fix unclickable links in tabbed content#883

Merged
madster456 merged 10 commits intodevfrom
docs/ui/fix-unselectable-text
Sep 15, 2025
Merged

[Docs][UI] - Fix unclickable links in tabbed content#883
madster456 merged 10 commits intodevfrom
docs/ui/fix-unselectable-text

Conversation

@madster456
Copy link
Collaborator

@madster456 madster456 commented Sep 6, 2025

image

Important

Fixes unclickable links in tabbed content by updating CSS and improves readability in production.mdx.

  • Behavior:
    • Fixes unclickable links in TabsContent by adding before:pointer-events-none to CSS in tabs.tsx.
  • Documentation:
    • Reformats callback URL sections in production.mdx for better readability by adding line breaks and code blocks.

This description was created by Ellipsis for b4dba1d. You can customize this summary. It will automatically update as commits are pushed.

Review by RecurseML

🔍 Review performed on 9318e2b..b4dba1d

✨ No bugs found, your code is sparkling clean

✅ Files analyzed, no issues (1)

docs/src/components/ui/tabs.tsx

⏭️ Files skipped (trigger manually) (1)
Locations Trigger Analysis
docs/templates/getting-started/production.mdx Analyze

Need help? Join our Discord

Summary by CodeRabbit

  • Bug Fixes

    • Fixed an overlay issue in Tabs that blocked interactions, ensuring tab content is clickable and responsive.
  • Documentation

    • Reformatted OAuth Callback URLs into clear code blocks across all provider tabs (Google, GitHub, Facebook, Microsoft, Spotify, GitLab, Bitbucket, LinkedIn, X).
    • Updated select provider links for accuracy (including Google anchor and GitHub canonical path).
    • Improved readability and consistency of setup instructions without changing behavior.

@vercel
Copy link

vercel bot commented Sep 6, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
stack-backend Ready Ready Preview Comment Sep 15, 2025 11:39am
stack-dashboard Ready Ready Preview Comment Sep 15, 2025 11:39am
stack-demo Ready Ready Preview Comment Sep 15, 2025 11:39am
stack-docs Ready Ready Preview Comment Sep 15, 2025 11:39am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 6, 2025

Walkthrough

Updated a docs UI tabs component to add before:pointer-events-none to a pseudo-element, preventing overlay interactions. Reformatted production getting-started documentation: standardized OAuth Callback URL presentation using fenced code blocks across multiple provider tabs and adjusted a couple of provider doc links.

Changes

Cohort / File(s) Summary
Docs UI Tabs Component
docs/src/components/ui/tabs.tsx
Added before:pointer-events-none to the TabsContent overlay pseudo-element; no API or logic changes.
Getting Started Production Docs
docs/templates/getting-started/production.mdx
Replaced inline callback URLs with fenced code blocks for all OAuth providers; minor provider link updates (e.g., Google anchor tweak, GitHub docs path). No runtime changes.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I thump my paws—two tweaks, neat and clean,
A hush on tabs where overlays had been.
URLs stand tall in fenced delight,
Providers line up, formatted just right.
In docs we hop, in UI we preen—
Small steps forward, crisp and serene. 🐇✨

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/ui/fix-unselectable-text

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Greptile Summary

This PR fixes a critical user experience issue where links and interactive elements within tabbed content were unclickable in the documentation. The core problem was in the TabsContent component in docs/src/components/ui/tabs.tsx, which uses a ::before pseudo-element that covers the entire content area (before:inset-0) for focus visualization effects. This invisible overlay was intercepting all mouse events, preventing user interaction with content inside tab panels.

The fix adds before:pointer-events-none to the pseudo-element styling, which tells the browser to ignore pointer events on the overlay while preserving its visual appearance. This is a standard CSS technique for overlays that need to be visible but not interactive.

Additionally, the PR includes formatting improvements to docs/templates/getting-started/production.mdx, where OAuth provider setup sections within TabsContent components were reformatted with better indentation, spacing, and structure. Callback URLs were changed from inline code to code blocks for improved readability and interaction.

This change integrates seamlessly with the existing UI component architecture, which is built on top of Radix UI primitives and uses utility classes for styling. The fix maintains all existing visual effects while restoring proper interactivity to tabbed content across the documentation.

Confidence score: 5/5

  • This PR is safe to merge with minimal risk as it addresses a clear UX bug with a targeted CSS fix
  • Score reflects a simple, well-understood change that follows standard web development practices for handling pseudo-element overlays
  • No files require special attention as the changes are straightforward and isolated to UI styling

2 files reviewed, no comments

Edit Code Review Bot Settings | Greptile

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
docs/templates/getting-started/production.mdx (3)

55-57: Use explicit code-fence language for copy UX

Mark these single-line URLs as text for consistent rendering and copy-to-clipboard behavior.

-      ```
+      ```text
       https://api.stack-auth.com/api/v1/auth/oauth/callback/google
       ```

Apply the same ```text to each Callback URL fence in these sections.

Also applies to: 65-66, 74-75, 83-84, 92-93, 101-102, 110-111, 119-120, 128-129


96-103: Brand capitalization: GitLab

Use “GitLab” (capital L) in user-facing text.

-      [Gitlab OAuth Setup Guide](https://docs.gitlab.com/ee/integration/oauth_provider.html)
+      [GitLab OAuth Setup Guide](https://docs.gitlab.com/ee/integration/oauth_provider.html)

Also update the tab label earlier in this file:

-       <TabsTrigger value="gitlab">Gitlab</TabsTrigger>
+       <TabsTrigger value="gitlab">GitLab</TabsTrigger>

51-131: Avoid repetition: factor a reusable CallbackUrl snippet

Nine blocks duplicate the same pattern; consider an MDX snippet/component to reduce drift.

Example:

{/* components/CallbackUrl.mdx */}
export const CallbackUrl = ({ provider }) => (
  <div>
    Callback URL:
    ```text
    https://api.stack-auth.com/api/v1/auth/oauth/callback/{provider}
    ```
  </div>
)

Then: etc.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9318e2b and b4dba1d.

📒 Files selected for processing (2)
  • docs/src/components/ui/tabs.tsx (1 hunks)
  • docs/templates/getting-started/production.mdx (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (AGENTS.md)

Prefer ES6 Map over Record when representing key–value collections

Files:

  • docs/src/components/ui/tabs.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
  • GitHub Check: setup-tests
  • GitHub Check: docker
  • GitHub Check: build (22.x)
  • GitHub Check: lint_and_build (latest)
  • GitHub Check: restart-dev-and-test
  • GitHub Check: build (22.x)
  • GitHub Check: all-good
  • GitHub Check: docker
  • GitHub Check: Security Check
🔇 Additional comments (1)
docs/src/components/ui/tabs.tsx (1)

64-66: Fix correctly unblocks clicks in tab panels

Adding before:pointer-events-none to the focus overlay on TabsContent prevents the pseudo-element from intercepting clicks—this matches the PR’s goal and is safe for a11y. Nice fix.

@N2D4 N2D4 removed their assignment Sep 10, 2025
@N2D4 N2D4 self-requested a review September 10, 2025 17:53
@madster456 madster456 merged commit 2d2a6d7 into dev Sep 15, 2025
19 of 21 checks passed
@madster456 madster456 deleted the docs/ui/fix-unselectable-text branch September 15, 2025 20:37
@coderabbitai coderabbitai bot mentioned this pull request Sep 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants