Coverage · four products
Every component the apps use today has a place in the registry.
Replaced: the registry file overwrites the app's file with the same API. Every shadcn component the five codebases use has a jengacore version in both builds, so nothing is left on the stock look. Adopt: an app-specific component that the registry now provides, to replace when that screen is next touched. The marketing site (jengacore-website) uses the same components: its 55 shadcn files all have a jengacore version.
Mulisa
jengacore-aml · base-nova · npx shadcn@latest add @jengacore/mulisa- · Uses next-themes: keep it and set themes={['light','dark','contrast']} with attribute="class", or switch to useTheme from @jengacore/jc-theme.
- · Dark theme is recommended for the live monitoring wall.
| In the app today | Outcome | Registry item | Note |
|---|---|---|---|
| ui/button, badge, card, input, textarea, table, tabs, sheet, dialog, alert, skeleton | Replaced | same name | Same exports, jengacore look. |
| ui/alert-dialog, checkbox, dropdown-menu, label, popover, progress, scroll-area, select, separator, slider, switch, field, empty | Replaced | same name | jengacore versions of the same files: focus ring, radii, card fill, navy scrim. |
| ui/sonner | Replaced | same name | Same Toaster export; toasts are navy in every theme. |
| ui/chart | Replaced | same name | Series read chart-1 … chart-5; bars and lines only. |
| dashboard/kpi-cards | Adopt | @jengacore/kpi-strip | One ledger of up to four numbers. |
| dashboard/recent-flagged | Adopt | @jengacore/alert-queue | Compact queue sorted by SLA then score. |
| shared/safe-action-dialog | Adopt | @jengacore/confirm-dialog | Repeats the object; optional required reason. |
| rules/*, typologies/* | Adopt | @jengacore/rule-chip | Rule code in mono + the condition in words. |
| cases/* | Adopt | @jengacore/case-timeline | Investigation timeline shared with Disputes. |
| theme-toggle | Adopt | @jengacore/command-palette | Appearance lives in ⌘K and user settings. |
Msingi
msingi · base-nova · npx shadcn@latest add @jengacore/msingi- · Light theme for tellers; keep forms single-column and use size="lg" (44px) for teller actions.
| In the app today | Outcome | Registry item | Note |
|---|---|---|---|
| ui/button, badge, card | Replaced | same name | Same exports, jengacore look. |
| ui/button-link | Replaced | @jengacore/button | Use <Button render={<a href=… />}> (Base UI) instead of a second component. |
| ui/data-table | Replaced | @jengacore/data-table | TanStack table with jengacore headers, selection and empty state. |
| ui/segmented | Replaced | @jengacore/tabs | <TabsList variant="segmented">. |
| ui/stat | Replaced | @jengacore/kpi-strip | KPI ledger in the branch currency. |
| ui/status-pill | Replaced | @jengacore/status-badge | Loan words come from lib/status. |
| shell/app-shell, logo, theme-toggle | Adopt | @jengacore/app-frame | Navy sidebar with the msingi. wordmark and teal marker. |
| member/* | Adopt | @jengacore/member-summary | Identity, KYC and the three balances; LoanSchedule for repayments. |
Finance Portal
jengacore-finance-portal · new-york · npx shadcn@latest add @jengacore/finance- · Create components.json (style new-york) before the first install; the repo does not have one yet.
- · Maker-checker actions use ConfirmDialog with participant, currency, amount and reference.
| In the app today | Outcome | Registry item | Note |
|---|---|---|---|
| ui/badge, button, card, input, table, textarea, dialog | Replaced | same name | Same exports, jengacore look. |
| ui/checkbox, label, popover, select | Replaced | same name | jengacore versions of the same files. |
| portal-shell, persona-switcher, tenant-switcher | Adopt | @jengacore/app-frame | Switchers go in the sidebar footer slot. |
| command-palette | Adopt | @jengacore/command-palette | Feed it the portal's records, actions and pages. |
| detail-sheet, transfer-peek | Adopt | @jengacore/sheet | 480px side panel with ID eyebrow and three actions. |
| status-pill | Adopt | @jengacore/status-badge | Transfer and settlement words from lib/status. |
| sla-badge | Adopt | @jengacore/sla-chip | Countdown with breach state. |
| lifecycle-timeline, timeline | Adopt | @jengacore/settlement-window | Window life cycle; CaseTimeline for event histories. |
| chart-card, fraud-slo-card | Adopt | @jengacore/kpi-strip | Numbers in a ledger; charts read chart-1 … chart-5. |
Disputes
jengacore-disputes · new-york · npx shadcn@latest add @jengacore/disputes- · A Bun monorepo: add components.json to packages/ui (style new-york, aliases pointing at packages/ui/src) and install there, so apps/web and the module UI share one copy.
- · Case pages are full pages (they have sub-navigation); messages between participants are timeline steps.
| In the app today | Outcome | Registry item | Note |
|---|---|---|---|
| packages/ui badge, button, card | Replaced | same name | Same exports, jengacore look. |
| packages/ui theme.css | Replaced | @jengacore/theme | Or import /r/jengacore.css if the package stays off the CLI. |
| apps/web portal-shell | Adopt | @jengacore/app-frame | disputes. wordmark and plum marker. |
| apps/web claims-overview | Adopt | @jengacore/data-table | Case queue with SLA chips and status badges. |
| case page | Adopt | @jengacore/dispute-case | Header, timeline, evidence and a decision with a reason. |