Skip to content

chore(docs): Further UI/UX refinements#2151

Merged
lightwalker-eth merged 8 commits into
mainfrom
y3drk/chore/further-docs-ui-refinements
May 19, 2026
Merged

chore(docs): Further UI/UX refinements#2151
lightwalker-eth merged 8 commits into
mainfrom
y3drk/chore/further-docs-ui-refinements

Conversation

@Y3drk
Copy link
Copy Markdown
Member

@Y3drk Y3drk commented May 19, 2026

Lite PR → Further UI/UX refinements

Summary

  • Performed requested UI/UX fixes listed in detail on Slack

Why


Testing

  • Ran typecheck, lint, and test commands locally to ensure that the migration didn't break anything, and later confirmed that in our CI workflow
  • Verified that the UI didn't break after introducing changes using a local and Vercel (build) previews

Notes for Reviewer (Optional)

  • Pure UI/UX changes, so I don't think that the changeset log is required
  • Follow-up questions::
    • The Back to Examples button already links to /integrate/omnigraph/examples where all of the examples are listed. Did you have any other location in mind?
    • There are quite a lot of edge cases when it comes to the "body-text" links. I tried to consider as many of them as I could when writing the CSS for that, but it wasn't possible to unify them all. Therefore, some links in the docs (I expect it to be very few) might not have the new rules applied. In that case, such links should be styled individually.
    • Please have a look at the attached screenshots and choose the sidebar items styling that you prefer.
      • 1st screenshot is the smaller font & non-bold fix
      • 2nd screenshot is just the smaller font fix
      • 3rd screen is production
image image image

Pre-Review Checklist (Blocking)

  • This PR does not introduce significant changes and is low-risk to review quickly.
  • Relevant changesets are included (or are not required)

@Y3drk Y3drk self-assigned this May 19, 2026
@Y3drk Y3drk requested a review from a team as a code owner May 19, 2026 15:25
Copilot AI review requested due to automatic review settings May 19, 2026 15:25
@Y3drk Y3drk added the docs Docs related label May 19, 2026
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 19, 2026

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

Project Deployment Actions Updated (UTC)
admin.ensnode.io Ready Ready Preview, Comment May 19, 2026 4:09pm
enskit-react-example.ensnode.io Ready Ready Preview, Comment May 19, 2026 4:09pm
ensnode.io Ready Ready Preview, Comment May 19, 2026 4:09pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
ensrainbow.io Skipped Skipped May 19, 2026 4:09pm

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 19, 2026

⚠️ No Changeset found

Latest commit: 698cb69

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

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

Review Change Stack

Warning

Rate limit exceeded

@Y3drk has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 18 minutes and 1 second before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9f384746-48c1-4b30-a69a-8bbbfd33f6cf

📥 Commits

Reviewing files that changed from the base of the PR and between bad3bf6 and 698cb69.

📒 Files selected for processing (6)
  • docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoDark.astro
  • docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoLight.astro
  • docs/ensnode.io/src/components/atoms/logos/astro/ENSNodeLogoDark.astro
  • docs/ensnode.io/src/components/atoms/logos/astro/ENSNodeLogoLight.astro
  • docs/ensnode.io/src/styles/globals.css
  • docs/ensnode.io/src/styles/starlight.css
📝 Walkthrough

Walkthrough

This PR updates the ENS documentation site by introducing a reusable logo component system with four themed SVG variants, adding responsive header navigation controls, expanding the sidebar Contributing section, and refining link and button styling across multiple pages.

Changes

Documentation UI and Component Updates

Layer / File(s) Summary
Logo Component System
docs/ensnode.io/src/components/atoms/logos/astro/shared-types.ts, docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoDark.astro, docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoLight.astro, docs/ensnode.io/src/components/atoms/logos/astro/ENSNodeLogoDark.astro, docs/ensnode.io/src/components/atoms/logos/astro/ENSNodeLogoLight.astro
New AstroLogoProps type enables consistent prop handling across four new logo components (admin and node, dark and light variants), each rendering fixed-size SVGs with gradient definitions and supporting className styling.
Logo Usage in Components
docs/ensnode.io/src/components/molecules/HostedEnsNodeInstances.astro, docs/ensnode.io/src/components/molecules/OmnigraphAPIExamplePanels.astro
ENSAdminLogoDark is imported and deployed in two components, replacing previous inline SVG markup and updating link styling for underlines and hover transitions.
Header Mobile Adaptability
docs/ensnode.io/src/components/molecules/HeaderButtons.tsx, docs/ensnode.io/src/components/overrides/SocialIcons.astro
HeaderButtons adds an optional mobileAdaptable prop that toggles responsive visibility behavior between desktop-first and mobile-first layouts; SocialIcons explicitly sets mobileAdaptable={false} to preserve current behavior.
Link and Button Styling Updates
docs/ensnode.io/src/styles/globals.css, docs/ensnode.io/src/styles/starlight.css
Dialog buttons gain breakpoint-aware visibility (hidden only at large screens) plus button styling; Starlight links gain underlines with hover transitions, and sidebar items are prevented from enlarging on desktop with social icons anchored during hover.
Sidebar Configuration
docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts
Contributing section defaults to expanded (collapsed: false) instead of collapsed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • namehash/ensnode#2099: Modifies the Starlight sidebar configuration by restructuring referenceSidebarTopic in the same file, performing related sidebar topic reorganization.

Poem

🐰 Logos dance in light and shade,
Header buttons now cascade with grace,
Mobile flows adapt their place,
Links now underlined, styled with care—
Docs made radiant everywhere!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'chore(docs): Further UI/UX refinements' accurately summarizes the main change: UI/UX improvements to the documentation site.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The pull request description follows the required template structure with all major sections present: Summary, Why, Testing, and Notes for Reviewer.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch y3drk/chore/further-docs-ui-refinements

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
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Minor UI/UX refinements to the ENSnode documentation site: introduces reusable Astro logo components (replacing inline SVGs), improves link styling in markdown content, tweaks sidebar font sizing and dialog-frame button visibility, and makes the SocialIcons override opt out of mobile-adaptive collapsing.

Changes:

  • Extracted ENSAdmin/ENSNode logos into shared Astro components and replaced inline SVG in HostedEnsNodeInstances and OmnigraphAPIExamplePanels.
  • Added CSS for underlined body-text links, sidebar nested item sizing, and styled the search dialog close button on mobile.
  • Made HeaderButtons accept a mobileAdaptable flag, used by the SocialIcons override; expanded the Contributing sidebar group by default.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
docs/ensnode.io/src/styles/starlight.css Adds underlined link styling and sidebar font/social-icon hover rules.
docs/ensnode.io/src/styles/globals.css Styles dialog-frame close button; only hides on ≥50rem screens.
docs/ensnode.io/src/components/overrides/SocialIcons.astro Passes mobileAdaptable={false} to keep icons visible on mobile.
docs/ensnode.io/src/components/molecules/OmnigraphAPIExamplePanels.astro Uses new ENSAdminLogoDark next to the Run-in-ENSAdmin button.
docs/ensnode.io/src/components/molecules/HostedEnsNodeInstances.astro Replaces inline SVG with ENSAdminLogoDark; adds underline classes.
docs/ensnode.io/src/components/molecules/HeaderButtons.tsx Adds optional mobileAdaptable prop controlling responsive visibility.
docs/ensnode.io/src/components/atoms/logos/astro/shared-types.ts New shared AstroLogoProps type.
docs/ensnode.io/src/components/atoms/logos/astro/ENSNodeLogoLight.astro New logo component.
docs/ensnode.io/src/components/atoms/logos/astro/ENSNodeLogoDark.astro New logo component.
docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoLight.astro New logo component.
docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoDark.astro New logo component (replaces inline SVGs).
docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts Expands the Contributing sidebar section by default.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
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: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoDark.astro`:
- Line 4: Replace the type assertion on Astro.props with Astro's typed Props
pattern: declare a local type alias (e.g., "type Props = AstroLogoProps") and
then destructure using "const { className, ...props } = Astro.props" (no "as"
assertion). Update the ENSAdminLogoDark.astro component so AstroLogoProps is
used via the Props alias and remove the "as AstroLogoProps" assertion to restore
compile-time prop checking on Astro.props.

In `@docs/ensnode.io/src/components/molecules/HostedEnsNodeInstances.astro`:
- Line 14: Replace the invalid Tailwind class "h-6.5" on the ENSAdminLogoDark
component with a valid utility; update the className on ENSAdminLogoDark to use
either "h-7 w-auto shrink-0" (matches the SVG’s ~28px width) or the arbitrary
value "h-[26px] w-auto shrink-0" if you specifically need 26px, ensuring the
rest of the classes remain unchanged.

In `@docs/ensnode.io/src/styles/starlight.css`:
- Around line 203-214: The rule for selectors .sl-markdown-content > p
a:not(:has(code)), .sl-markdown-content :is(ul, ol) > li a:not(:has(code)), and
.starlight-aside__content a currently uses transition: all 0.2s ease-in-out
which is too broad; change it to only transition the text-underline-offset (e.g.
transition: text-underline-offset 0.2s ease-in-out) so only the underline offset
is animated and avoid unnecessary style recalculations when hovering (the
&:hover block that sets text-underline-offset: 2px can remain unchanged).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: cd8f790b-d8aa-45bc-8b76-d138ab7ae79b

📥 Commits

Reviewing files that changed from the base of the PR and between b37d070 and bad3bf6.

📒 Files selected for processing (12)
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/reference.ts
  • docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoDark.astro
  • docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoLight.astro
  • docs/ensnode.io/src/components/atoms/logos/astro/ENSNodeLogoDark.astro
  • docs/ensnode.io/src/components/atoms/logos/astro/ENSNodeLogoLight.astro
  • docs/ensnode.io/src/components/atoms/logos/astro/shared-types.ts
  • docs/ensnode.io/src/components/molecules/HeaderButtons.tsx
  • docs/ensnode.io/src/components/molecules/HostedEnsNodeInstances.astro
  • docs/ensnode.io/src/components/molecules/OmnigraphAPIExamplePanels.astro
  • docs/ensnode.io/src/components/overrides/SocialIcons.astro
  • docs/ensnode.io/src/styles/globals.css
  • docs/ensnode.io/src/styles/starlight.css

Comment thread docs/ensnode.io/src/styles/starlight.css
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 19, 2026

Greptile Summary

This PR delivers a set of incremental UI/UX refinements to the ENSNode docs site: link underline animations, sidebar font-size/transform fixes, mobile button display logic, and mobileAdaptable support in HeaderButtons. It also resolves the previously flagged duplicate SVG gradient-ID bug by extracting logo SVGs into Astro components that generate unique IDs via crypto.randomUUID().

  • Logo components — Four new .astro logo files (ENSAdminLogoDark/Light, ENSNodeLogoDark/Light) replace the inline SVGs that caused duplicate <defs> IDs; the two already-used variants are wired into HostedEnsNodeInstances and OmnigraphAPIExamplePanels.
  • CSSstarlight.css adds scoped underline-offset transitions for body-text links and suppresses the sidebar social-icon hover shift; globals.css replaces the visibility: hidden blanket rule with targeted display: none logic separating the pagefind clear button from the mobile close button.
  • HeaderButtons — New mobileAdaptable prop lets the component render in always-visible mode, used by the SocialIcons override.

Confidence Score: 5/5

Safe to merge — all changes are scoped to documentation site UI and carry no risk to application logic or data.

Every change is confined to CSS, Astro/TSX UI components, and a sidebar config toggle. The duplicate gradient-ID fix is correctly implemented with crypto.randomUUID(). The mobileAdaptable prop is backwards-compatible with a safe default. No logic, API, or data paths are affected.

No files require special attention.

Important Files Changed

Filename Overview
docs/ensnode.io/src/components/molecules/HostedEnsNodeInstances.astro Replaces inline SVG with the new ENSAdminLogoDark component (fixing duplicate gradient IDs) and adds underline animation to the instance URL link, but the new link uses transition-all instead of scoped transitions.
docs/ensnode.io/src/components/atoms/logos/astro/ENSAdminLogoDark.astro New Astro SVG component using crypto.randomUUID() to generate unique gradient IDs per render — correctly addresses the previously flagged duplicate-ID bug when multiple instances appear on the same page.
docs/ensnode.io/src/components/molecules/HeaderButtons.tsx Adds optional mobileAdaptable prop (default true) so the component can be rendered in always-visible mode (e.g. in the sidebar's social icons slot) without the responsive hide/show classes.
docs/ensnode.io/src/styles/globals.css Replaces the blanket visibility: hidden on .dialog-frame button with targeted rules: the pagefind clear button is always hidden, and the mobile close button gets styled appearance on small screens and display: none on desktop.
docs/ensnode.io/src/styles/starlight.css Adds scoped underline-offset transition for body-text links, fixes nested sidebar item font size on desktop, and pins social icons to suppress the hover transform shift.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[HeaderButtons.tsx] -->|mobileAdaptable=false| B[SocialIcons.astro\nSidebar slot]
    A -->|mobileAdaptable=true default| C[Standard header\nresponsive layout]

    D[shared-types.ts\nAstroLogoProps] --> E[ENSAdminLogoDark.astro]
    D --> F[ENSAdminLogoLight.astro]
    D --> G[ENSNodeLogoDark.astro]
    D --> H[ENSNodeLogoLight.astro]

    E -->|crypto.randomUUID IDs| I[HostedEnsNodeInstances.astro]
    E -->|crypto.randomUUID IDs| J[OmnigraphAPIExamplePanels.astro]

    K[starlight.css] -->|body-text link underline transitions| L[.sl-markdown-content links]
    K -->|font-size fix| M[nested sidebar items]
    K -->|transform: none| N[sidebar social icons]

    O[globals.css] -->|display: none always| P[.pagefind-ui__search-clear]
    O -->|display: none on desktop| Q[mobile close button]
Loading

Reviews (2): Last reviewed commit: "Merge branch 'main' into y3drk/chore/fur..." | Re-trigger Greptile

Comment thread docs/ensnode.io/src/styles/starlight.css Outdated
Comment thread docs/ensnode.io/src/styles/globals.css Outdated
Comment thread docs/ensnode.io/src/styles/starlight.css
Comment thread docs/ensnode.io/src/styles/starlight.css Outdated
Comment thread docs/ensnode.io/src/styles/globals.css Outdated
@vercel vercel Bot temporarily deployed to Preview – ensrainbow.io May 19, 2026 16:07 Inactive
@Y3drk
Copy link
Copy Markdown
Member Author

Y3drk commented May 19, 2026

@greptileai

Copy link
Copy Markdown
Member

@lightwalker-eth lightwalker-eth left a comment

Choose a reason for hiding this comment

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

@Y3drk Nice improvements here, thanks 👍

@lightwalker-eth lightwalker-eth merged commit 7d0d378 into main May 19, 2026
20 checks passed
@lightwalker-eth lightwalker-eth deleted the y3drk/chore/further-docs-ui-refinements branch May 19, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Docs related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants