Title: refactor(client, contract): migrate tables and forms from MUI to ShadCN unified design
Description:
Summary
- Migrate client table section from MUI (
TableManager,Box,Stack,
Checkbox,SvgColor,ConditionalComponent) to the ShadCN unified CSS grid table design - Migrate contract table, list view, circuits table, and form from MUI to
ShadCN/Tailwind with Lucide icons - Add new
client-table.tsx,client-table-row.tsx, andcontract-table-row.tsx
components following the canonical grid table pattern from circuit module
Changes
Client (new)
-
client-table.tsx— CSS grid table withbuildGridTemplate, synced horizontal scroll, loading skeletons, empty state, scroll gradient overlays, backend pagination viaonPageChange/onRowsPerPageChange -
client-table-row.tsx— Animated row (IntersectionObserver), color accent bar fromcolorCode, ShadCN Checkbox/TableActionColumn, cell rendering (dates,
portalAssignment, mainBranch, typeClient mappings), inactive opacity styling, toggle activation with ConfirmDialog -
client-list-view.tsx— Replace MUI components with ShadCNTableControlBar,TabsCustom,TabContentContainer/TabPanel, LucideUpload; fix navigation
type mismatch (String(c.id) === id)
Contract (refactored)
-
contract-table.tsx— Replace MUITableManagerwith CSS grid table layout, add row selection, scroll sync -
contract-table-row.tsx— New animated grid row with color accent, ShadCN
actions, ConfirmDialog -
contrat-circuits-table.tsx— Replace MUITable/TableBody/TableCell/CircularProgress/SvgColorwith Tailwind grid,
Lucide icons, animated rows -
contract-list-view.tsx— Replace MUI layout/tabs/dialog with ShadCN equivalents, Lucide Upload -
contract-new-view.tsx— Replace MUI form components (Radio, Grid, Box,
FormHelperText) with Tailwind/Lucide, ShadCNform-field/form-container, add
Section card wrapper
Closes VSN-2342