mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-15 13:46:16 -08:00
Four root services imported MatDialog statically: the confirm dialog service, the player service (external player info), the parental lock prompt and the workspace shell actions (add playlist, account info). Each already loaded its dialog component on demand, but the service import alone kept @angular/material/dialog and @angular/cdk/dialog in the initial bundle. LazyMatDialog (@iptvnator/ui/components/lazy-dialog) imports the dialog module on first use and resolves the root MatDialog from it, retrying after a failed chunk load; the four services open their dialogs once both the service and the component's chunk are in. openConfirmDialog now returns a promise that settles when the dialog is open, logs a failed load and performs no action for it; its callers never used the return value. renderer.initialBytes: 1,463,083 -> 1,432,237 bytes (-30,846) on a local production build. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>