-
Couldn't load subscription status.
- Fork 17
feat: render additional footer items in navigation #2991
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
greptile-review |
|
greptile-review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 file reviewed, no comments
Closes #2990
Stand
Greptile Overview
Updated On: 2025-10-21 15:20:20 UTC
Summary
This PR adds an extensibility point to the
AsideNavigationcomponent, allowing consumers to customize footer items through an optionalrenderFooterItemsprop.Key Changes:
renderFooterItemsprop to interface that accepts default footer items and context (compact state and asideRef)Architecture:
This follows the established Component Registry Pattern and Slots Pattern documented in the codebase. The implementation allows external components (registered via ComponentsProvider) to override AsideNavigation and provide custom footer items while retaining access to the default items for composition.
Confidence Score: 5/5
Important Files Changed
File Analysis
renderFooterItemsprop to enable customization of navigation footer items; refactored footer rendering with proper React keysSequence Diagram
sequenceDiagram participant Consumer as Custom Component participant AsideNav as AsideNavigation participant AsideHeader as @gravity-ui AsideHeader participant Footer as Footer Items Consumer->>AsideNav: Render with renderFooterItems prop AsideNav->>AsideHeader: Pass renderFooter callback AsideHeader->>AsideNav: Call renderFooter({compact, asideRef}) AsideNav->>AsideNav: Create defaultFooterItems array Note over AsideNav: FooterItem(information)<br/>FooterItem(user-settings)<br/>UserDropdown alt renderFooterItems provided AsideNav->>Consumer: Call renderFooterItems(defaultFooterItems, ctx) Consumer->>AsideNav: Return customized footer items AsideNav->>Footer: Render custom footer else renderFooterItems not provided AsideNav->>Footer: Render defaultFooterItems endCI Results
Test Status:⚠️ FLAKY
📊 Full Report
Test Changes Summary ⏭️2
⏭️ Skipped Tests (2)
Bundle Size: ✅
Current: 45.86 MB | Main: 45.86 MB
Diff: +1.25 KB (0.00%)
✅ Bundle size unchanged.
ℹ️ CI Information