feat(nurse-doctor): finalize standalone migration and modernize UI components#340
feat(nurse-doctor): finalize standalone migration and modernize UI components#340Anurag9699 wants to merge 6 commits into
Conversation
…v4 & Zard UI ## Summary Complete migration of MMU-UI (Mobile Medical Unit) application from Angular 16.2.0 to Angular 19.2.21+, introducing modern standalone architecture, Tailwind CSS v4, and the Zard UI component library. ## Phase 1 — Angular Upgrade (16 → 19) - Incremental upgrade via ng update: 16 → 17 → 18 → 19 - Updated @angular/material, @angular/cdk, @angular-eslint/* to v19 - Fixed TypeScript 5.8 module resolution (esModuleInterop, allowSyntheticDefaultImports) - Fixed NG8107 optional chain warnings and ngClass string literal bugs ## Phase 2 — Standalone Architecture Migration - Ran Angular standalone schematic (convert-to-standalone + prune-ng-modules) - Removed material.module.ts and shared.module.ts - All 153+ components are now standalone - HttpClientModule → provideHttpClient(withInterceptorsFromDi()) ## Phase 3 — Tailwind CSS v4 & Zard UI Foundation - Installed Tailwind CSS v4 with @tailwindcss/postcss - Created postcss.config.js and components.json for Zard UI - Added 22 Zard UI components via zard-cli - Implemented ZardIdDirective, ZardStringTemplateOutletDirective, mergeClasses ## Phase 4 — Core UI Modernization - Login page: full redesign with Tailwind v4 gradient + Zard design tokens - AppHeader: migrated from Bootstrap navbar to Tailwind responsive header - AppFooter: migrated from Bootstrap grid to Tailwind flexbox - SpinnerComponent: replaced MatProgressSpinner with Zard UI z-loader - Removed Bootstrap CSS from angular.json styles - Added allowedCommonJsDependencies for all third-party deps - Fixed deprecated :host /deep/ CSS combinator in Common-UI ## Phase 5 — Validation - Development build: 0 errors, 0 warnings - Production build: 0 errors, 0 warnings - ESLint config updated to ignore Zard UI component directories
|
Important Review skippedToo many files! This PR contains 299 files, which is 149 over the limit of 150. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (299)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
|
Hi, @Anurag9699 |
UI Modernization Demo — PR #340What ChangedAll legacy Components Updated
Visual Comparison — IDRS ComponentBEFORE (Legacy mat-expansion-panel): AFTER (Modern z-accordion — PR #340): Visual Comparison — Quick ConsultNote: I don't currently have active developer credentials for the AMRIT dev server, so I've attached high-fidelity visual representations of the UI changes implemented in this PR. Could you please provide test credentials so I can record a live video demo?" |








Overview
This PR completes the architectural modernization and UI transition for the Nurse-Doctor module. The primary focus was migrating all remaining legacy UI components to the Zard UI system, ensuring Angular 19 standalone compliance, and resolving critical build blockers.
Key Changes
UI Modernization (Zard UI Migration):
Migrated legacy mat-expansion-panel to the modern z-accordion system in the following components:
IdrsComponent
GeneralReferComponent
CancerReferComponent
Standardized z-accordion property bindings across the module (standardizing on zType and zDefaultValue API) for consistent behavior in QuickConsult and TmVisitDetails.
Code Quality & Linting:
Resolved @typescript-eslint/no-unused-expressions errors in the IDRS component that were blocking commits.
Fixed several eqeqeq (strict equality) warnings in the sms-notification module.
Migrated Husky hooks (pre-commit and commit-msg) to the modern v10.0.0 standard, resolving long-standing deprecation warnings.
Architectural Stability:
Completed the standalone component refactoring for the remaining sub-modules.
Verified full production build stability (ng build) with zero compilation errors.
Technical Notes:
All modernized components now correctly utilize the ZardAccordionImports and maintain functional parity with the legacy Material implementation.
Fixed a template error (NG8002) where accordion properties were previously using incorrect attribute names.