fix(audit): P2 frontend any→concrete types (181→61), heroicons→lucide-react, missing type exports, toast API, Select options, TaskStatus types; P2-9 hooks.py type annotations

This commit is contained in:
Agent Zero
2026-08-17 22:24:24 +02:00
parent 40fd633917
commit 45ebbee26f
52 changed files with 404 additions and 302 deletions
+7 -6
View File
@@ -4,6 +4,7 @@
* Manage custom field definitions per entity (contact/company).
*/
import { asError } from '@/utils/errorTypes';
import React, { useState, useMemo, useEffect } from 'react';
import { useTranslation } from 'react-i18next';
import { Card } from '@/components/ui/Card';
@@ -223,8 +224,8 @@ export function CustomFieldsPage() {
await updateMutation.mutateAsync({ id: editingId!, data: updateData });
toast.success(t('customFields.updated', 'Feld aktualisiert'));
closeFormModal();
} catch (err: any) {
setFormError(err.message || 'Fehler beim Aktualisieren');
} catch (err: unknown) { const errObj = asError(err);
setFormError(errObj.message || 'Fehler beim Aktualisieren');
}
} else {
const createData: CustomFieldDefinitionCreate = {
@@ -241,8 +242,8 @@ export function CustomFieldsPage() {
await createMutation.mutateAsync(createData);
toast.success(t('customFields.created', 'Feld erstellt'));
closeFormModal();
} catch (err: any) {
setFormError(err.message || 'Fehler beim Erstellen');
} catch (err: unknown) { const errObj = asError(err);
setFormError(errObj.message || 'Fehler beim Erstellen');
}
}
};
@@ -253,8 +254,8 @@ export function CustomFieldsPage() {
await deleteMutation.mutateAsync(deleteTarget.id);
toast.success(t('customFields.deleted', 'Feld gelöscht'));
setDeleteTarget(null);
} catch (err: any) {
toast.error(err.message || 'Fehler beim Löschen');
} catch (err: unknown) { const errObj = asError(err);
toast.error(errObj.message || 'Fehler beim Löschen');
setDeleteTarget(null);
}
};