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:
@@ -9,6 +9,7 @@
|
||||
* - Text-basierte Vorschau der Policy
|
||||
*/
|
||||
|
||||
import { asError } from '@/utils/errorTypes';
|
||||
import React, { useState, useCallback, useMemo } from 'react';
|
||||
import clsx from 'clsx';
|
||||
import {
|
||||
@@ -439,8 +440,8 @@ function PolicyForm({ initial, entityType, onSave, onCancel }: PolicyFormProps)
|
||||
await createPolicy.mutateAsync(payload);
|
||||
}
|
||||
onSave();
|
||||
} catch (err: any) {
|
||||
setError(err?.message || t('abac.saveError', 'Failed to save policy'));
|
||||
} catch (err: unknown) { const errObj = asError(err);
|
||||
setError(errObj?.message || t('abac.saveError', 'Failed to save policy'));
|
||||
}
|
||||
}, [
|
||||
initial,
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
* shows a success toast, and closes.
|
||||
*/
|
||||
|
||||
import { asError } from '@/utils/errorTypes';
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Modal } from '@/components/ui/Modal';
|
||||
@@ -98,9 +99,9 @@ export function SaveFilterDialog({
|
||||
);
|
||||
setName('');
|
||||
onClose();
|
||||
} catch (err: any) {
|
||||
} catch (err: unknown) { const errObj = asError(err);
|
||||
toast.error(
|
||||
err?.message || t('savedFilters.saveError', 'Filter konnte nicht gespeichert werden')
|
||||
errObj?.message || t('savedFilters.saveError', 'Filter konnte nicht gespeichert werden')
|
||||
);
|
||||
} finally {
|
||||
setSubmitting(false);
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
* • Click-outside-to-close dropdown behaviour
|
||||
*/
|
||||
|
||||
import { asError } from '@/utils/errorTypes';
|
||||
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Button } from '@/components/ui/Button';
|
||||
@@ -86,8 +87,8 @@ export function SavedFilterBar({
|
||||
const handleDelete = useCallback(
|
||||
async (e: React.MouseEvent, id: string) => {
|
||||
e.stopPropagation(); try { await deleteMutation.mutateAsync(id); if (activeFilterId === id) setActiveFilterId(null); toast.success(t('savedFilters.deleted', 'Filter gelöscht'));
|
||||
} catch (err: any) {
|
||||
toast.error(err?.message || t('common.error', 'Fehler'));
|
||||
} catch (err: unknown) { const errObj = asError(err);
|
||||
toast.error(errObj?.message || t('common.error', 'Fehler'));
|
||||
} }, [deleteMutation, activeFilterId, toast, t]
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user