fix(web): Number.isNaN statt globalem isNaN in vier Date-Pruefungen, forEach-Rueckgabewert verworfen
Alle vier Stellen (TenderDetail, ResultsList, InvoiceHistoryTable) rufen isNaN(d.getTime()) auf - Date.prototype.getTime() liefert immer number, also findet an keiner der vier Stellen tatsaechlich eine Umwandlung statt. Der Tausch auf Number.isNaN ist reine Haertung: sobald dort einmal ein String ankaeme, wuerde globales isNaN ihn stillschweigend umwandeln statt ihn als kaputte Eingabe zu erkennen. Kein Rueckfallwert geaendert. In cert-manager/actions.ts gibt files.forEach jetzt keinen Wert mehr aus der Schleifenfunktion heraus - forEach verwirft ihn ohnehin, die Aenderung ist rein kosmetisch (useIterableCallbackReturn). Reihenfolge der form.append-Aufrufe unveraendert. Quick-Vorgang 260921-i8x, Task 2/3. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TPPB4ApQxzSU1rwV2Ffj9J
This commit is contained in:
@@ -151,7 +151,9 @@ export async function mergeCertsAction(
|
|||||||
password?: string,
|
password?: string,
|
||||||
): Promise<FileResponse> {
|
): Promise<FileResponse> {
|
||||||
const form = new FormData();
|
const form = new FormData();
|
||||||
files.forEach((file) => form.append('files', file));
|
files.forEach((file) => {
|
||||||
|
form.append('files', file);
|
||||||
|
});
|
||||||
form.append('outputFormat', outputFormat);
|
form.append('outputFormat', outputFormat);
|
||||||
if (password) form.append('password', password);
|
if (password) form.append('password', password);
|
||||||
return postForm('merge', form) as Promise<FileResponse>;
|
return postForm('merge', form) as Promise<FileResponse>;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ function formatDateTime(isoString: string): string {
|
|||||||
// new Date() never throws — it returns an Invalid Date object for bad input.
|
// new Date() never throws — it returns an Invalid Date object for bad input.
|
||||||
// Check explicitly so malformed strings fall back gracefully instead of
|
// Check explicitly so malformed strings fall back gracefully instead of
|
||||||
// rendering as "NaN.NaN.NaN, NaN:NaN Uhr" (WR-03).
|
// rendering as "NaN.NaN.NaN, NaN:NaN Uhr" (WR-03).
|
||||||
if (isNaN(d.getTime())) return isoString;
|
if (Number.isNaN(d.getTime())) return isoString;
|
||||||
const day = String(d.getDate()).padStart(2, '0');
|
const day = String(d.getDate()).padStart(2, '0');
|
||||||
const month = String(d.getMonth() + 1).padStart(2, '0');
|
const month = String(d.getMonth() + 1).padStart(2, '0');
|
||||||
const year = d.getFullYear();
|
const year = d.getFullYear();
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ interface TriageState {
|
|||||||
function formatDate(value: string | null): string {
|
function formatDate(value: string | null): string {
|
||||||
if (!value) return '–';
|
if (!value) return '–';
|
||||||
const d = new Date(value);
|
const d = new Date(value);
|
||||||
if (isNaN(d.getTime())) return '–';
|
if (Number.isNaN(d.getTime())) return '–';
|
||||||
return d.toLocaleDateString('de-DE');
|
return d.toLocaleDateString('de-DE');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ interface TenderDetailProps {
|
|||||||
function formatDeadline(value: string | null, noDeadlineLabel: string): string {
|
function formatDeadline(value: string | null, noDeadlineLabel: string): string {
|
||||||
if (!value) return noDeadlineLabel;
|
if (!value) return noDeadlineLabel;
|
||||||
const d = new Date(value);
|
const d = new Date(value);
|
||||||
if (isNaN(d.getTime())) return noDeadlineLabel;
|
if (Number.isNaN(d.getTime())) return noDeadlineLabel;
|
||||||
return d.toLocaleDateString('de-DE');
|
return d.toLocaleDateString('de-DE');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ function formatValue(value: string | null, noValueLabel: string): string {
|
|||||||
|
|
||||||
function formatPublished(value: string): string {
|
function formatPublished(value: string): string {
|
||||||
const d = new Date(value);
|
const d = new Date(value);
|
||||||
if (isNaN(d.getTime())) return '–';
|
if (Number.isNaN(d.getTime())) return '–';
|
||||||
return d.toLocaleDateString('de-DE');
|
return d.toLocaleDateString('de-DE');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user