Skip to content

Conversation

@MananTank
Copy link
Contributor

@MananTank MananTank commented Feb 3, 2026

Before

image

After

image

PR-Codex overview

This PR focuses on enhancing the DocSidebar component by adding a className prop for better styling flexibility and updating the DocLayout and PageLayout components to improve layout structure and breadcrumb navigation.

Detailed summary

  • Added className prop to the DocSidebar component.
  • Updated DocSidebar usage in DocLayout to include className="pt-1".
  • Removed the sidebar name display from DocLayout.
  • Wrapped CategoryPage in a div and added a Breadcrumb component in PageLayout.
  • Changed breadcrumb name from "References" to sdkTitle.
  • Added margin classes to the Heading in IndexContent.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Summary by CodeRabbit

  • New Features

    • Breadcrumb navigation added around category pages; breadcrumbs now use the site title for reference links.
  • Style

    • Sidebar spacing adjusted for improved layout and supports external styling for consistent spacing.
    • Page heading margins refined and index heading now shows only the site title.
    • Footer enhanced to surface section-specific navigation links.

@MananTank MananTank requested review from a team as code owners February 3, 2026 15:29
@changeset-bot
Copy link

changeset-bot bot commented Feb 3, 2026

⚠️ No Changeset found

Latest commit: a7b6fe9

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions github-actions bot added the Portal Involves changes to the Portal (docs) codebase. label Feb 3, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 3, 2026

Walkthrough

The changes add breadcrumb navigation to category pages, update sidebar styling with an optional className prop, and pass sidebar links to the footer component. Page headings are adjusted with additional margin utilities, and breadcrumb display names now use sdkTitle instead of "References."

Changes

Cohort / File(s) Summary
Layout Components
apps/portal/src/app/references/components/TDoc/PageLayout.tsx, apps/portal/src/components/Layouts/DocLayout.tsx
Added Breadcrumb wrapper for category pages with versioned navigation links; adjusted page heading margins and display logic; updated PageFooter to receive sidebarLinks prop for enhanced footer functionality; removed sidebar name header row from main content.
Sidebar Styling
apps/portal/src/components/others/Sidebar.tsx
Added optional className prop to ReferenceSideBarProps for external styling customization; className is applied to the sidebar root container via cn() utility.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning The pull request description is missing required sections from the template such as Notes for the reviewer and How to test. Fill out the '## Notes for the reviewer' and '## How to test' sections as specified in the template.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title 'portal: Update SDK Reference breadcrumbs UI' is specific and directly relates to the main changes in the PR, which focus on breadcrumb components and layout adjustments in the portal's SDK reference pages.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

@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: 1

🤖 Fix all issues with AI agents
In `@apps/portal/src/app/references/components/TDoc/PageLayout.tsx`:
- Around line 55-75: The breadcrumb is using the raw docSlug for the second
crumb instead of the human-friendly subgroup display name; update the second
crumb's name to map docSlug to subgroups[docSlug]?.displayName (or whichever
property holds the readable name) with a fallback to docSlug so Breadcrumb shows
the subgroup display name; modify the component where Breadcrumb is rendered
(the block containing Breadcrumb and CategoryPage) to compute a label from
subgroups and pass that as the crumb name while keeping hrefs unchanged.

Comment on lines +55 to +75
<div>
<Breadcrumb
crumbs={[
{
href: `/references/${packageSlug}/${version}`,
name: sdkTitle,
},
{
href: `/references/${packageSlug}/${version}/${docSlug}`,
name: docSlug,
},
]}
/>

<CategoryPage
doc={doc}
packageSlug={packageSlug}
slug={docSlug as keyof typeof subgroups}
version={version}
/>
</div>
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use the subgroup display name for the category breadcrumb.
The breadcrumb currently shows the raw slug, which is less readable than the subgroup name already used in the page heading. Consider mapping to subgroups[...] with a fallback.

💡 Suggested fix
-      if (docSlug in subgroups) {
-        return (
-          <div>
-            <Breadcrumb
-              crumbs={[
-                {
-                  href: `/references/${packageSlug}/${version}`,
-                  name: sdkTitle,
-                },
-                {
-                  href: `/references/${packageSlug}/${version}/${docSlug}`,
-                  name: docSlug,
-                },
-              ]}
-            />
-
-            <CategoryPage
-              doc={doc}
-              packageSlug={packageSlug}
-              slug={docSlug as keyof typeof subgroups}
-              version={version}
-            />
-          </div>
-        );
-      }
+      if (docSlug in subgroups) {
+        const subgroupKey = docSlug as keyof typeof subgroups;
+        return (
+          <div>
+            <Breadcrumb
+              crumbs={[
+                {
+                  href: `/references/${packageSlug}/${version}`,
+                  name: sdkTitle,
+                },
+                {
+                  href: `/references/${packageSlug}/${version}/${docSlug}`,
+                  name: subgroups[subgroupKey] ?? docSlug,
+                },
+              ]}
+            />
+
+            <CategoryPage
+              doc={doc}
+              packageSlug={packageSlug}
+              slug={subgroupKey}
+              version={version}
+            />
+          </div>
+        );
+      }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<div>
<Breadcrumb
crumbs={[
{
href: `/references/${packageSlug}/${version}`,
name: sdkTitle,
},
{
href: `/references/${packageSlug}/${version}/${docSlug}`,
name: docSlug,
},
]}
/>
<CategoryPage
doc={doc}
packageSlug={packageSlug}
slug={docSlug as keyof typeof subgroups}
version={version}
/>
</div>
if (docSlug in subgroups) {
const subgroupKey = docSlug as keyof typeof subgroups;
return (
<div>
<Breadcrumb
crumbs={[
{
href: `/references/${packageSlug}/${version}`,
name: sdkTitle,
},
{
href: `/references/${packageSlug}/${version}/${docSlug}`,
name: subgroups[subgroupKey] ?? docSlug,
},
]}
/>
<CategoryPage
doc={doc}
packageSlug={packageSlug}
slug={subgroupKey}
version={version}
/>
</div>
);
}
🤖 Prompt for AI Agents
In `@apps/portal/src/app/references/components/TDoc/PageLayout.tsx` around lines
55 - 75, The breadcrumb is using the raw docSlug for the second crumb instead of
the human-friendly subgroup display name; update the second crumb's name to map
docSlug to subgroups[docSlug]?.displayName (or whichever property holds the
readable name) with a fallback to docSlug so Breadcrumb shows the subgroup
display name; modify the component where Breadcrumb is rendered (the block
containing Breadcrumb and CategoryPage) to compute a label from subgroups and
pass that as the crumb name while keeping hrefs unchanged.

@vercel
Copy link

vercel bot commented Feb 3, 2026

@MananTank is attempting to deploy a commit to the thirdweb Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Portal Involves changes to the Portal (docs) codebase.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant