Skip to content

Cleanup core frontend lib: remove dead duplicate components (wave 1+2) - #1660

Open
romanivan-flamingo wants to merge 1 commit into
mainfrom
hotfix/core-lib-cleanup-wave1-2
Open

Cleanup core frontend lib: remove dead duplicate components (wave 1+2)#1660
romanivan-flamingo wants to merge 1 commit into
mainfrom
hotfix/core-lib-cleanup-wave1-2

Conversation

@romanivan-flamingo

@romanivan-flamingo romanivan-flamingo commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Part of the core-lib duplicates cleanup (ClickUp 86af4bwy9, subtask 86ajwdh6e).

What

  • Delete 62 dead files in openframe-frontend-core/src/components/ - zero importers anywhere in the lib and absent from every barrel / package.json export:
    • 9 root twins of ui/ primitives (checkbox, skeleton, switch, textarea, slider, progress, separator, aspect-ratio, custom-icons) - canonical versions live in components/ui/
    • 38 stale loose *-icon.tsx / *-logo.tsx root files (old forks of components/icons/)
    • dead shadcn primitives (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)
  • Repoint 5 live internal imports (Flamingo/OpenFrame/OpenMSP logos, PlusCircleIcon) to the canonical components/icons/ copies; 3 of 4 were byte-identical, FlamingoLogo call site adapted (size/color -> width/height/fill, same rendering)
  • Fix unreachable exports: OpenSourceFeatures and WhyItMatters were export default only, which export * barrels skip - added named exports

Safety

  • Every deleted file passed a guard grep: lib internals (incl. relative ../ imports and Storybook), openframe-frontend, multi-platform-hub, and deep openframe-frontend-core/src/... imports
  • No public export removed - package surface only gains the two named exports
  • tsc --noEmit and npm run build (tsup + declarations) pass

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Refactor

    • Streamlined the component library by removing unused interface elements, icons, logos, charts, navigation controls, form controls, and layout utilities.
    • Consolidated visual asset usage so supported logos and icons continue to render consistently.
    • Updated several component references to use the current shared visual assets.
  • Improvements

    • Added named exports for key informational sections, improving reuse across supported experiences.
    • Existing chat, platform badge, loading, and branding displays continue to use the updated asset paths.

- 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>
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The 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.

Changes

Frontend component cleanup

Layer / File(s) Summary
Remove obsolete UI and icon modules
openframe-frontend-core/src/components/*.tsx, openframe-frontend-core/src/components/ui/*.tsx
Removes obsolete icons, logos, Radix wrappers, form components, command-palette components, chart components, interactive wrappers, and related stubs.
Update relocated icon references
openframe-frontend-core/src/components/chat/chat-container.tsx, openframe-frontend-core/src/components/features/platform-badge.tsx, openframe-frontend-core/src/components/loading/openmsp-heartbeat.tsx, openframe-frontend-core/src/components/made-with-love.tsx, openframe-frontend-core/src/components/vendor-tag.tsx
Updates imports to the icons directory. Changes the Flamingo logo call to use width, height, and fill.
Expose named component exports
openframe-frontend-core/src/components/open-source-features.tsx, openframe-frontend-core/src/components/why-it-matters.tsx
Adds named exports while preserving the existing default exports.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: ivan-flamingo

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary change: removing dead duplicate components from the core frontend library.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch hotfix/core-lib-cleanup-wave1-2

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

📥 Commits

Reviewing files that changed from the base of the PR and between c8f70d4 and 8c48da0.

📒 Files selected for processing (69)
  • openframe-frontend-core/src/components/about-icon.tsx
  • openframe-frontend-core/src/components/aspect-ratio.tsx
  • openframe-frontend-core/src/components/avatar.tsx
  • openframe-frontend-core/src/components/chart.tsx
  • openframe-frontend-core/src/components/chat/chat-container.tsx
  • openframe-frontend-core/src/components/check-circle-icon.tsx
  • openframe-frontend-core/src/components/checkbox.tsx
  • openframe-frontend-core/src/components/claude-icon.tsx
  • openframe-frontend-core/src/components/coins-icon.tsx
  • openframe-frontend-core/src/components/command.tsx
  • openframe-frontend-core/src/components/community-hub-icon.tsx
  • openframe-frontend-core/src/components/community-icon.tsx
  • openframe-frontend-core/src/components/compare-icon.tsx
  • openframe-frontend-core/src/components/context-menu.tsx
  • openframe-frontend-core/src/components/custom-external-link-icon.tsx
  • openframe-frontend-core/src/components/custom-fork-icon.tsx
  • openframe-frontend-core/src/components/custom-icons.tsx
  • openframe-frontend-core/src/components/custom-license-icon.tsx
  • openframe-frontend-core/src/components/custom-star-icon.tsx
  • openframe-frontend-core/src/components/custom-time-icon.tsx
  • openframe-frontend-core/src/components/donut-icon.tsx
  • openframe-frontend-core/src/components/edit-profile-icon.tsx
  • openframe-frontend-core/src/components/elestio-logo.tsx
  • openframe-frontend-core/src/components/empty-vendor-icon.tsx
  • openframe-frontend-core/src/components/features/platform-badge.tsx
  • openframe-frontend-core/src/components/flamingo-logo.tsx
  • openframe-frontend-core/src/components/form.tsx
  • openframe-frontend-core/src/components/github-icon.tsx
  • openframe-frontend-core/src/components/google-logo.tsx
  • openframe-frontend-core/src/components/hamburger-icon.tsx
  • openframe-frontend-core/src/components/hubspot-icon.tsx
  • openframe-frontend-core/src/components/icon-utils.tsx
  • openframe-frontend-core/src/components/interactive-wrapper.tsx
  • openframe-frontend-core/src/components/join-waitlist-button-stub.tsx
  • openframe-frontend-core/src/components/loading/openmsp-heartbeat.tsx
  • openframe-frontend-core/src/components/made-with-love.tsx
  • openframe-frontend-core/src/components/menu-icon.tsx
  • openframe-frontend-core/src/components/minus-circle-icon.tsx
  • openframe-frontend-core/src/components/moon-icon.tsx
  • openframe-frontend-core/src/components/ms-icon.tsx
  • openframe-frontend-core/src/components/open-source-features.tsx
  • openframe-frontend-core/src/components/open-source-icon.tsx
  • openframe-frontend-core/src/components/openframe-logo.tsx
  • openframe-frontend-core/src/components/openmsp-logo.tsx
  • openframe-frontend-core/src/components/plus-circle-icon.tsx
  • openframe-frontend-core/src/components/progress.tsx
  • openframe-frontend-core/src/components/provider-button.tsx
  • openframe-frontend-core/src/components/reddit-icon.tsx
  • openframe-frontend-core/src/components/resizable.tsx
  • openframe-frontend-core/src/components/scroll-area.tsx
  • openframe-frontend-core/src/components/send-icon.tsx
  • openframe-frontend-core/src/components/separator.tsx
  • openframe-frontend-core/src/components/skeleton.tsx
  • openframe-frontend-core/src/components/slack-icon.tsx
  • openframe-frontend-core/src/components/slider.tsx
  • openframe-frontend-core/src/components/smooth-accordion.tsx
  • openframe-frontend-core/src/components/steps.tsx
  • openframe-frontend-core/src/components/sun-icon.tsx
  • openframe-frontend-core/src/components/switch.tsx
  • openframe-frontend-core/src/components/textarea.tsx
  • openframe-frontend-core/src/components/ui/pagination-stub.tsx
  • openframe-frontend-core/src/components/ui/responsive-icons-block-stub.tsx
  • openframe-frontend-core/src/components/user-icon.tsx
  • openframe-frontend-core/src/components/vendor-directory-icon.tsx
  • openframe-frontend-core/src/components/vendor-tag.tsx
  • openframe-frontend-core/src/components/vendors-icon.tsx
  • openframe-frontend-core/src/components/why-it-matters.tsx
  • openframe-frontend-core/src/components/x-icon.tsx
  • openframe-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

Comment on lines +120 to +122
width={config.logoSize}
height={config.logoSize}
fill="#f357bb" // Direct hex instead of CSS variable for cross-framework compatibility

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 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

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.

1 participant