Skip to content

build(deps): drop Angular Material + Bootstrap, enable Preflight (migration complete)#157

Merged
gkbishnoi07 merged 8 commits into
angular-zard-migrationfrom
feat/phase4-drop-material-bootstrap
Jul 9, 2026
Merged

build(deps): drop Angular Material + Bootstrap, enable Preflight (migration complete)#157
gkbishnoi07 merged 8 commits into
angular-zard-migrationfrom
feat/phase4-drop-material-bootstrap

Conversation

@gkbishnoi07

Copy link
Copy Markdown

Stacked on #156 (Zard dialogs). The final migration PR — Inventory-UI is now 100% Zard UI + Tailwind v4: 0 Angular Material, 0 Bootstrap.

What this does

  • MatTableDataSource → local TableDataSource (same surface — data/filter/filteredData/filterPredicate/paginator; data reflects the active filter, matching what mat-table used to render); dead @ViewChild(MatPaginator) declarations removed (39 + 25 files)
  • @angular/material and bootstrap removed from package.json@angular/cdk stays (it's the primitives layer Zard UI itself is built on, per Zard's own dependencies)
  • Material prebuilt theme + Bootstrap script/style entries removed from angular.json/index.html; bootstrap.layer.css deleted (nothing left to layer)
  • Coexistence [z-button] radius reset removed (the unlayered Material button{border-radius:0} is gone)
  • Tailwind Preflight enabled (@layer base) with shadcn's default border color * { border-color: var(--border) } — bare border utilities render the subtle token, not near-black currentColor

Verified

build-dev ✅ · build-prod ✅ · lint 0 errors ✅ · compiled bundle: preflight active, border-color base rule present, zero --bs- variables, Material/Bootstrap absent from deps

Full chain (merge bottom-up)

#146 Angular 16→20 → #147 standalone → #148 Tailwind+Zard setup → #149 shell+auth → #150 entry flows → #151 reports → #152 stock ops → #153 dispense+rx → #154 indent+returns → #155 core widgets → #156 Zard dialogs → this PR

…ight

The final migration step - the app is now 100% Zard UI + Tailwind:

- replace MatTableDataSource with a local TableDataSource (same surface:
  data/filter/filteredData/filterPredicate/paginator; data reflects the
  active filter, matching what mat-table rendered); drop the dead
  @ViewChild(MatPaginator) declarations (39 + 25 files)
- remove @angular/material and bootstrap from package.json (@angular/cdk
  stays - it is the primitives layer Zard UI is built on)
- angular.json: remove the Material prebuilt theme and the bootstrap
  script/style entries; delete src/bootstrap.layer.css (nothing left to
  layer); remove the bootstrap bundle script from index.html
- styles.css: remove the coexistence [z-button]/z-select radius reset
  (Material's unlayered button rule is gone)
- tailwind.css: enable Preflight in @layer base and add the shadcn default
  border color (* { border-color: var(--border) }) so bare border utilities
  render the subtle token instead of currentColor

Verified: dev + prod builds green, lint 0 errors; compiled bundle has
preflight active, the border-color base rule, and zero --bs- variables.
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: be41b180-cf67-42db-aad1-78302bee6c54

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

The main-store indent order worklist template uses *ngFor but the component
never imported NgFor (NG8103) - the table rows silently did not render.
Also removes the unused NgClass import flagged by NG8113 in rx-item-dispense.
Drop the app-footer component and its usages (login, reset/set-password,
facility-selection, service, dashboard, rx-dashboard). Same decision as
MMU-UI: no global footer bar in the migrated UI; the Powered by / copyright /
online-status strip goes away.
…the header

provideZard() (Zard's custom event-manager plugins - .outside, {key},
.debounce template event syntax) was never added to main.ts during the
Tailwind/Zard setup, so the date-picker's popover close/toggle bindings were
dead and the calendar could not open. Same provider MMU-UI registers.

The header logo switches from logo.png (white variant designed for the old
dark navbar, invisible on the new white header) to the colored Swasthya.png
used by the login screen and MMU-UI's header.
…logo)

Replace the outline icon tile with MMU-UI's exact service tile: a primary
(brand blue) z-button with the service image (assets/images/<name>.png) and
large label, in a max-w-lg centered card with the same entrance animation.
Swap the MMU van image back to the lucideStore icon (this is the inventory
store service), sized via the button's --ng-icon__size on the same primary
blue tile.
Drop the service-name text from the tile (kept as the button's aria-label)
and size the store icon up to 80px via the icon's size input.
Advances the submodule to da84760: form messages use text-destructive/
text-success theme tokens (was raw red/green classes) and table headers match
stock shadcn TableHead (font-medium text-foreground, was bold muted).
@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
3.4% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@gkbishnoi07
gkbishnoi07 changed the base branch from feat/phase4-zard-dialogs to angular-zard-migration July 9, 2026 06:48
@gkbishnoi07
gkbishnoi07 merged commit d804466 into angular-zard-migration Jul 9, 2026
3 of 4 checks passed
@gkbishnoi07
gkbishnoi07 deleted the feat/phase4-drop-material-bootstrap branch July 19, 2026 08:28
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.

2 participants