chore(deps): upgrade Angular 20 → 21

Migrates to Angular 21.0.0: updates tsconfig lib to es2022, migrates
bootstrap options in main.ts, and completes control flow migration
(*ngFor/*ngIf → @for/@if) in jumps and jumps-by-month templates to
resolve duplicate ng-template name conflicts skipped by the schematic.
Also fixes pre-commit hook to load nvm before running tests.
This commit is contained in:
2026-04-26 06:49:50 +02:00
parent be5f5775ef
commit 8c898cd652
13 changed files with 2098 additions and 1982 deletions
@@ -2,28 +2,36 @@
<thead>
<tr>
<th></th>
<th *ngFor='let name of headers; let i=index' class="text-end"> {{name}} </th>
@for (name of headers; track name; let i = $index) {
<th class="text-end">{{ name }}</th>
}
<th class="text-end">Total</th>
</tr>
</thead>
<tbody>
<tr *ngFor='let row of rows; let i=index'>
<th class="{{colors[i]}} text-end"> ● {{ names[i] }} </th>
<td *ngFor='let value of row; let i=index' class="font-monospace text-end">
<span class="{{ value === 0 ? 'text-empty pe-1' : 'pe-1'}}">{{ value }}</span>
</td>
<th class="{{colors[i]}} font-monospace text-end">
<span class="{{ values[i] === 0 ? 'text-empty pe-1' : 'pe-1'}}">{{ values[i] }}</span>
</th>
</tr>
@for (row of rows; track row; let i = $index) {
<tr>
<th class="{{ colors[i] }} text-end">● {{ names[i] }}</th>
@for (value of row; track value; let i = $index) {
<td class="font-monospace text-end">
<span class="{{ value === 0 ? 'text-empty pe-1' : 'pe-1' }}">{{ value }}</span>
</td>
}
<th class="{{ colors[i] }} font-monospace text-end">
<span class="{{ values[i] === 0 ? 'text-empty pe-1' : 'pe-1' }}">{{ values[i] }}</span>
</th>
</tr>
}
</tbody>
<tfoot>
<tr>
<th class="text-end">Total</th>
<th *ngFor='let value of seriesColTotal; let i=index' class="font-monospace text-end">
<span class="{{ value === 0 ? 'text-empty pe-1' : 'pe-1'}}">{{ value }}</span>
</th>
@for (value of seriesColTotal; track value; let i = $index) {
<th class="font-monospace text-end">
<span class="{{ value === 0 ? 'text-empty pe-1' : 'pe-1' }}">{{ value }}</span>
</th>
}
<th class="font-monospace text-end">{{ grandTotal }}</th>
</tr>
</tfoot>
</table>
</table>
@@ -1,8 +1,7 @@
import { Component, Input, AfterContentChecked } from '@angular/core';
import { NgIf, NgFor } from '@angular/common';
@Component({
imports: [NgIf, NgFor],
imports: [],
selector: 'app-history-table',
templateUrl: './history-table.component.html',
styleUrls: [],