Cleanup core frontend lib: remove dead duplicate components (wave 1+2) - #1660
Cleanup core frontend lib: remove dead duplicate components (wave 1+2)#1660romanivan-flamingo wants to merge 1 commit into
Conversation
- Delete 62 dead files with zero importers and no barrel exports: 9 root twins of ui/ primitives, 38 stale loose icons/logos, dead shadcn primitives, orphan stubs - Repoint 5 live imports (flamingo/openframe/openmsp logos, plus-circle icon) to canonical components/icons/ - Add named exports for OpenSourceFeatures and WhyItMatters (default-only exports were unreachable through the export * barrel) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThe PR removes obsolete UI, icon, logo, form, and utility components. It updates imports for relocated icons, adjusts Flamingo logo props, and adds named exports for two existing components. ChangesFrontend component cleanup
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@openframe-frontend-core/src/components/made-with-love.tsx`:
- Around line 120-122: Update the FlamingoLogo fill configuration in the
made-with-love component to use an approved ODS color token or the token-backed
color mechanism supported by FlamingoLogo instead of the raw `#f357bb` value,
while preserving the existing logo sizing.
🪄 Autofix
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: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 4c85d6ca-a77d-44d7-b0dc-254d211262be
📒 Files selected for processing (69)
openframe-frontend-core/src/components/about-icon.tsxopenframe-frontend-core/src/components/aspect-ratio.tsxopenframe-frontend-core/src/components/avatar.tsxopenframe-frontend-core/src/components/chart.tsxopenframe-frontend-core/src/components/chat/chat-container.tsxopenframe-frontend-core/src/components/check-circle-icon.tsxopenframe-frontend-core/src/components/checkbox.tsxopenframe-frontend-core/src/components/claude-icon.tsxopenframe-frontend-core/src/components/coins-icon.tsxopenframe-frontend-core/src/components/command.tsxopenframe-frontend-core/src/components/community-hub-icon.tsxopenframe-frontend-core/src/components/community-icon.tsxopenframe-frontend-core/src/components/compare-icon.tsxopenframe-frontend-core/src/components/context-menu.tsxopenframe-frontend-core/src/components/custom-external-link-icon.tsxopenframe-frontend-core/src/components/custom-fork-icon.tsxopenframe-frontend-core/src/components/custom-icons.tsxopenframe-frontend-core/src/components/custom-license-icon.tsxopenframe-frontend-core/src/components/custom-star-icon.tsxopenframe-frontend-core/src/components/custom-time-icon.tsxopenframe-frontend-core/src/components/donut-icon.tsxopenframe-frontend-core/src/components/edit-profile-icon.tsxopenframe-frontend-core/src/components/elestio-logo.tsxopenframe-frontend-core/src/components/empty-vendor-icon.tsxopenframe-frontend-core/src/components/features/platform-badge.tsxopenframe-frontend-core/src/components/flamingo-logo.tsxopenframe-frontend-core/src/components/form.tsxopenframe-frontend-core/src/components/github-icon.tsxopenframe-frontend-core/src/components/google-logo.tsxopenframe-frontend-core/src/components/hamburger-icon.tsxopenframe-frontend-core/src/components/hubspot-icon.tsxopenframe-frontend-core/src/components/icon-utils.tsxopenframe-frontend-core/src/components/interactive-wrapper.tsxopenframe-frontend-core/src/components/join-waitlist-button-stub.tsxopenframe-frontend-core/src/components/loading/openmsp-heartbeat.tsxopenframe-frontend-core/src/components/made-with-love.tsxopenframe-frontend-core/src/components/menu-icon.tsxopenframe-frontend-core/src/components/minus-circle-icon.tsxopenframe-frontend-core/src/components/moon-icon.tsxopenframe-frontend-core/src/components/ms-icon.tsxopenframe-frontend-core/src/components/open-source-features.tsxopenframe-frontend-core/src/components/open-source-icon.tsxopenframe-frontend-core/src/components/openframe-logo.tsxopenframe-frontend-core/src/components/openmsp-logo.tsxopenframe-frontend-core/src/components/plus-circle-icon.tsxopenframe-frontend-core/src/components/progress.tsxopenframe-frontend-core/src/components/provider-button.tsxopenframe-frontend-core/src/components/reddit-icon.tsxopenframe-frontend-core/src/components/resizable.tsxopenframe-frontend-core/src/components/scroll-area.tsxopenframe-frontend-core/src/components/send-icon.tsxopenframe-frontend-core/src/components/separator.tsxopenframe-frontend-core/src/components/skeleton.tsxopenframe-frontend-core/src/components/slack-icon.tsxopenframe-frontend-core/src/components/slider.tsxopenframe-frontend-core/src/components/smooth-accordion.tsxopenframe-frontend-core/src/components/steps.tsxopenframe-frontend-core/src/components/sun-icon.tsxopenframe-frontend-core/src/components/switch.tsxopenframe-frontend-core/src/components/textarea.tsxopenframe-frontend-core/src/components/ui/pagination-stub.tsxopenframe-frontend-core/src/components/ui/responsive-icons-block-stub.tsxopenframe-frontend-core/src/components/user-icon.tsxopenframe-frontend-core/src/components/vendor-directory-icon.tsxopenframe-frontend-core/src/components/vendor-tag.tsxopenframe-frontend-core/src/components/vendors-icon.tsxopenframe-frontend-core/src/components/why-it-matters.tsxopenframe-frontend-core/src/components/x-icon.tsxopenframe-frontend-core/src/components/x-logo.tsx
💤 Files with no reviewable changes (62)
- openframe-frontend-core/src/components/skeleton.tsx
- openframe-frontend-core/src/components/about-icon.tsx
- openframe-frontend-core/src/components/minus-circle-icon.tsx
- openframe-frontend-core/src/components/github-icon.tsx
- openframe-frontend-core/src/components/hubspot-icon.tsx
- openframe-frontend-core/src/components/community-hub-icon.tsx
- openframe-frontend-core/src/components/elestio-logo.tsx
- openframe-frontend-core/src/components/menu-icon.tsx
- openframe-frontend-core/src/components/compare-icon.tsx
- openframe-frontend-core/src/components/aspect-ratio.tsx
- openframe-frontend-core/src/components/icon-utils.tsx
- openframe-frontend-core/src/components/progress.tsx
- openframe-frontend-core/src/components/join-waitlist-button-stub.tsx
- openframe-frontend-core/src/components/scroll-area.tsx
- openframe-frontend-core/src/components/custom-star-icon.tsx
- openframe-frontend-core/src/components/hamburger-icon.tsx
- openframe-frontend-core/src/components/context-menu.tsx
- openframe-frontend-core/src/components/flamingo-logo.tsx
- openframe-frontend-core/src/components/donut-icon.tsx
- openframe-frontend-core/src/components/resizable.tsx
- openframe-frontend-core/src/components/slack-icon.tsx
- openframe-frontend-core/src/components/empty-vendor-icon.tsx
- openframe-frontend-core/src/components/google-logo.tsx
- openframe-frontend-core/src/components/ms-icon.tsx
- openframe-frontend-core/src/components/custom-license-icon.tsx
- openframe-frontend-core/src/components/sun-icon.tsx
- openframe-frontend-core/src/components/plus-circle-icon.tsx
- openframe-frontend-core/src/components/custom-external-link-icon.tsx
- openframe-frontend-core/src/components/provider-button.tsx
- openframe-frontend-core/src/components/custom-fork-icon.tsx
- openframe-frontend-core/src/components/openmsp-logo.tsx
- openframe-frontend-core/src/components/avatar.tsx
- openframe-frontend-core/src/components/openframe-logo.tsx
- openframe-frontend-core/src/components/check-circle-icon.tsx
- openframe-frontend-core/src/components/community-icon.tsx
- openframe-frontend-core/src/components/edit-profile-icon.tsx
- openframe-frontend-core/src/components/chart.tsx
- openframe-frontend-core/src/components/checkbox.tsx
- openframe-frontend-core/src/components/reddit-icon.tsx
- openframe-frontend-core/src/components/steps.tsx
- openframe-frontend-core/src/components/custom-icons.tsx
- openframe-frontend-core/src/components/moon-icon.tsx
- openframe-frontend-core/src/components/interactive-wrapper.tsx
- openframe-frontend-core/src/components/separator.tsx
- openframe-frontend-core/src/components/open-source-icon.tsx
- openframe-frontend-core/src/components/custom-time-icon.tsx
- openframe-frontend-core/src/components/coins-icon.tsx
- openframe-frontend-core/src/components/vendor-directory-icon.tsx
- openframe-frontend-core/src/components/ui/pagination-stub.tsx
- openframe-frontend-core/src/components/switch.tsx
- openframe-frontend-core/src/components/slider.tsx
- openframe-frontend-core/src/components/vendors-icon.tsx
- openframe-frontend-core/src/components/x-logo.tsx
- openframe-frontend-core/src/components/textarea.tsx
- openframe-frontend-core/src/components/ui/responsive-icons-block-stub.tsx
- openframe-frontend-core/src/components/claude-icon.tsx
- openframe-frontend-core/src/components/x-icon.tsx
- openframe-frontend-core/src/components/form.tsx
- openframe-frontend-core/src/components/smooth-accordion.tsx
- openframe-frontend-core/src/components/user-icon.tsx
- openframe-frontend-core/src/components/command.tsx
- openframe-frontend-core/src/components/send-icon.tsx
| width={config.logoSize} | ||
| height={config.logoSize} | ||
| fill="#f357bb" // Direct hex instead of CSS variable for cross-framework compatibility |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Use an ODS token instead of a raw hex color.
Line 122 adds fill="#f357bb". Raw hex colors are not allowed in openframe-frontend-core/src/**/*.{ts,tsx,css}. Pass the approved ODS color token or use the token-backed color mechanism supported by FlamingoLogo.
🤖 Prompt for 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.
In `@openframe-frontend-core/src/components/made-with-love.tsx` around lines 120 -
122, Update the FlamingoLogo fill configuration in the made-with-love component
to use an approved ODS color token or the token-backed color mechanism supported
by FlamingoLogo instead of the raw `#f357bb` value, while preserving the existing
logo sizing.
Source: Coding guidelines
Part of the core-lib duplicates cleanup (ClickUp 86af4bwy9, subtask 86ajwdh6e).
What
openframe-frontend-core/src/components/- zero importers anywhere in the lib and absent from every barrel /package.jsonexport:ui/primitives (checkbox,skeleton,switch,textarea,slider,progress,separator,aspect-ratio,custom-icons) - canonical versions live incomponents/ui/*-icon.tsx/*-logo.tsxroot files (old forks ofcomponents/icons/)avatar,chart,command,context-menu,form,resizable,scroll-area,steps) and orphans (smooth-accordion,interactive-wrapper,join-waitlist-button-stub,provider-button,icon-utils,ui/pagination-stub,ui/responsive-icons-block-stub)components/icons/copies; 3 of 4 were byte-identical,FlamingoLogocall site adapted (size/color->width/height/fill, same rendering)OpenSourceFeaturesandWhyItMatterswereexport defaultonly, whichexport *barrels skip - added named exportsSafety
../imports and Storybook), openframe-frontend, multi-platform-hub, and deepopenframe-frontend-core/src/...importstsc --noEmitandnpm run build(tsup + declarations) pass🤖 Generated with Claude Code
Summary by CodeRabbit
Refactor
Improvements