Coop · PR #563 · issue #562
■ before = antd solid / LineIcons art · ■ after = lucide stroke icons · conflicts resolved, tsc / eslint / build green, merges clean into main.
| @ant-design/icons | 65 files | → lucide-react | 39 icons |
| @/icons barrel (LineIcons filled) | 12 files | → lucide-react | 20 icons |
| @/icons/lni · lnif svg?react | 30 files | → lucide-react | 25 icons |
Class rewrites: fill-* → text-* (lucide uses currentColor stroke) · width/height → size / w-* h-* · SVGProps types → LucideIcon. Some retired names kept as import aliases (ChevronLeft as LeftOutlined).
39 icons · red glyph = antd, green = lucide
ArrowLeftOutlinedArrowLeftArrowRightOutlinedArrowRightAuditOutlinedScaleBarChartOutlinedBarChart3BulbOutlinedLightbulbCaretRightFilledPlayCheckCircleOutlinedCircleCheckCheckOutlinedCheckClockCircleOutlinedClockCloseCircleOutlinedCircleXCodeOutlinedCodeCommentOutlinedMessageSquareDeleteOutlinedTrash2DownOutlinedChevronDownDownloadOutlinedDownloadEditOutlinedPencilEllipsisOutlinedEllipsisExclamationCircleOutlinedCircleAlertFilterOutlinedFilterGlobalOutlinedGlobeHistoryOutlinedHistoryHolderOutlinedGripVerticalInfoCircleOutlinedInfoLeftOutlinedChevronLeftLineChartOutlinedChartLineLoadingOutlinedLoaderCirclePlayCircleFilledCirclePlayPlayCircleOutlinedCirclePlayPlusOutlinedPlusReadOutlinedBookOpenRedoOutlinedRotateCwRightOutlinedChevronRightSearchOutlinedSearchSendOutlinedSendStarFilledStarStarOutlinedStarUpOutlinedChevronUpUserOutlinedUserWarningFilledTriangleAlert20 icons
CheckmarkFilledCheckCogFilledSettingsChevronDownFilledChevronDownChevronUpFilledChevronUpCloseFilledXExitFilledLogOutFileExclamationFilledFileWarningFlowChartAltFilledGitBranchFriendsFilledUsersGraphAlt1FilledChartColumnIncreasingInvestmentFilledTrendingUpPencilFilledPencilPieChartAlt1FilledChartPiePieChartAltFilledChartPieSparklesFilledSparklesStarFilled (barrel)StarTapFilledMousePointerClickTrashCanFilledTrash2UserAlt3FilledUserUsersFilledUsers25 icons
SortAmountAscArrowUpNarrowWideSortAmountDscArrowDownWideNarrowArrowsHorizontalArrowLeftRightAngleDoubleLeftChevronsLeftAngleDoubleRightChevronsRightCopyAltCopyGridAltLayoutGridMoreAltEllipsisSidebar1PanelLeftWorld2GlobeTextUnderlineAltUnderlineCrossCircleCircleXTrashCanTrash2UserAlt4UserChevronDown (lni)ChevronDownChevronUp (lni)ChevronUpChevronLeft (lni)ChevronLeftChevronRight (lni)ChevronRightCheckmark (lni)CheckPlus (lni)PlusPencil (lni)PencilSparkles (lni)SparklesStar (lni)StarSpinnerSolidLoaderCircleArrowRight (lni)ArrowRight15 views · drag the divider on each
Sidebar nav, KPI-card icons, chart-header icons, bottom nav (logout / settings / profile). Drag the divider.
Sidebar submenu icons (Matching Banks, User Strikes), row action icons. Drag the divider.
Form chrome; deeper condition / signal-gallery icons are behind step 2. Drag the divider.
Empty-state and toolbar icons. Drag the divider.
Add-severity (Plus), remove (Trash2), confirm (Check) icons. Drag the divider.
Columns (LayoutGrid), Filter, sort-amount (ArrowUp/DownNarrowWide) icons. Drag the divider.
LayoutGrid trigger + checkbox rows. Drag the divider.
Drag handle (GripVertical), reorder chevrons, Pencil, Trash2. Drag the divider.
List + create-entry icons. Drag the divider.
Custom-field add/remove icons, code-sample (Code) dropdown. Drag the divider.
Action list icons. Drag the divider.
Section icons. Drag the divider.
Copy (Copy), regenerate (RotateCw) icons. Drag the divider.
User / Users icons, tab chrome. Drag the divider.
Profile icons. Drag the divider.
client tsc --noEmit | ✅ 0 errors |
client eslint | ✅ 0 errors (163 pre-existing warnings) |
client npm run build | ✅ built |
prettier --check (touched files) | ✅ clean |
git merge-tree vs upstream/main | ✅ no conflicts |
@ant-design/icons in client/src | ✅ 0 import sites |
Stragglers picked up that main added after the branch forked: HandleTimeByModeratorChart.tsx (Delete/Edit/Ellipsis/InfoCircle), ManualReviewDefaultCharts.tsx (HistoryOutlined→History), and hand-merges in NCMECReviewUser.tsx + ManualReviewJobReview.tsx.