chore(deps): upgrade Angular 18 → 19

- ng update @angular/core@19 @angular/cli@19 @angular/material@19 @angular-eslint/schematics@19
- Migration: remove standalone:true (now default in v19) from 60 components
- Migration: zone.js 0.14 → 0.15
- Fix pre-existing build budget error: raise initial bundle limit to 5mb (app ships large static JSON assets)
This commit is contained in:
2026-04-26 06:25:02 +02:00
parent b8eb8a9393
commit 5400294d45
65 changed files with 5875 additions and 4710 deletions
+22 -29
View File
@@ -1,7 +1,7 @@
import { Title } from '@angular/platform-browser';
import { trigger, state, style, animate, transition } from '@angular/animations';
import { Component, DestroyRef, inject, OnInit, OnDestroy } from '@angular/core';
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { DatePipe, DecimalPipe } from '@angular/common';
import { ActivatedRoute, RouterLink } from '@angular/router';
import { MatCardModule } from '@angular/material/card';
@@ -9,55 +9,48 @@ import { MatDividerModule } from '@angular/material/divider';
import { MatIconModule } from '@angular/material/icon';
import { Observable, Subscription } from 'rxjs';
import { ListErrorsComponent, } from '@components/shared';
import { ListErrorsComponent } from '@components/shared';
import { Errors, Product, ProductPageData } from '@models';
@Component({
selector: 'app-product',
standalone: true,
imports: [
DatePipe, DecimalPipe, RouterLink,
MatCardModule, MatDividerModule, MatIconModule,
ListErrorsComponent
],
imports: [DatePipe, DecimalPipe, RouterLink, MatCardModule, MatDividerModule, MatIconModule, ListErrorsComponent],
templateUrl: './product.component.html',
styleUrl: './product.component.scss',
animations: [
trigger('flyInOut', [
state('in', style({ transform: 'translateY(0)' })),
transition('void => *', [
style({ transform: 'translateY(-100%)' }),
animate(200)
]),
transition('* => void', [
style({ transform: 'translateY(100%)' }),
animate(200)
])
])
]
transition('void => *', [style({ transform: 'translateY(-100%)' }), animate(200)]),
transition('* => void', [style({ transform: 'translateY(100%)' }), animate(200)]),
]),
],
})
export class ProductComponent implements OnInit, OnDestroy {
private _data: Subscription = new Subscription();
public title = 'Ad Astra - Produit';
public description = 'Encore un peu de patience, notre shop sera mis en ligne d\'ici peu.';
public description = "Encore un peu de patience, notre shop sera mis en ligne d'ici peu.";
public errors: Errors = { errors: {} };
public destroyRef = inject(DestroyRef);
public product: Product = {} as Product;
constructor(
private route: ActivatedRoute,
private titleService: Title
) { }
private titleService: Title,
) {}
ngOnInit() {
const data$: Observable<{ pageData: ProductPageData }> = this.route.data as Observable<{ pageData: ProductPageData }>;
this._data = data$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data: { pageData: ProductPageData }) => {
this.product = data.pageData.product;
this.title = this.product.name;
this.description = this.product.description;
this.titleService.setTitle(this.product.name);
console.log(this.product);
});
const data$: Observable<{ pageData: ProductPageData }> = this.route.data as Observable<{
pageData: ProductPageData;
}>;
this._data = data$
.pipe(takeUntilDestroyed(this.destroyRef))
.subscribe((data: { pageData: ProductPageData }) => {
this.product = data.pageData.product;
this.title = this.product.name;
this.description = this.product.description;
this.titleService.setTitle(this.product.name);
console.log(this.product);
});
}
ngOnDestroy() {