diff --git a/frontend/src/components/AddressList.tsx b/frontend/src/components/AddressList.tsx index be1828f..a92e057 100644 --- a/frontend/src/components/AddressList.tsx +++ b/frontend/src/components/AddressList.tsx @@ -113,7 +113,7 @@ export function AddressList({ entityType, entityId }: AddressListProps) { {error && ( -
{error}
+
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
)} {showForm && ( diff --git a/frontend/src/components/ai/ChatWindow.tsx b/frontend/src/components/ai/ChatWindow.tsx index 56d0e5d..07fe848 100644 --- a/frontend/src/components/ai/ChatWindow.tsx +++ b/frontend/src/components/ai/ChatWindow.tsx @@ -179,7 +179,7 @@ export function ChatWindow({ sessionId, agentId, className, compact }: ChatWindo )} - {error &&
{error}
} + {error &&
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
}
diff --git a/frontend/src/components/ai/SessionList.tsx b/frontend/src/components/ai/SessionList.tsx index 02daf20..5c92968 100644 --- a/frontend/src/components/ai/SessionList.tsx +++ b/frontend/src/components/ai/SessionList.tsx @@ -347,7 +347,7 @@ export function SessionList({ activeSessionId, onSelectSession, isSidebar, class return (
- {error &&
{error}
} + {error &&
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
}
{ diff --git a/frontend/src/components/calendar/IcsControls.tsx b/frontend/src/components/calendar/IcsControls.tsx index d01322d..631e0d2 100644 --- a/frontend/src/components/calendar/IcsControls.tsx +++ b/frontend/src/components/calendar/IcsControls.tsx @@ -138,7 +138,7 @@ export function IcsControls({ calendar, onImported }: IcsControlsProps) { )} {error && ( - {error} + {typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"} )}
diff --git a/frontend/src/components/calendar/ResourceBooking.tsx b/frontend/src/components/calendar/ResourceBooking.tsx index 0b36d4f..dbdfd78 100644 --- a/frontend/src/components/calendar/ResourceBooking.tsx +++ b/frontend/src/components/calendar/ResourceBooking.tsx @@ -112,7 +112,7 @@ export function ResourceBooking({ entry, resources, onBooked }: ResourceBookingP className="text-xs text-danger-700 bg-danger-50 border border-danger-200 rounded-md p-2" data-testid="resource-error" > - {error} + {typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
)}
diff --git a/frontend/src/components/calendar/SharingSettings.tsx b/frontend/src/components/calendar/SharingSettings.tsx index 6fb0fb8..e8edb66 100644 --- a/frontend/src/components/calendar/SharingSettings.tsx +++ b/frontend/src/components/calendar/SharingSettings.tsx @@ -141,7 +141,7 @@ export function SharingSettings({ calendar }: SharingSettingsProps) { className="text-xs text-danger-700 bg-danger-50 border border-danger-200 rounded-md p-2" data-testid="sharing-error" > - {error} + {typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
)} {message && ( diff --git a/frontend/src/components/calendar/TaskDetailPanel.tsx b/frontend/src/components/calendar/TaskDetailPanel.tsx index bf7c754..4c933b4 100644 --- a/frontend/src/components/calendar/TaskDetailPanel.tsx +++ b/frontend/src/components/calendar/TaskDetailPanel.tsx @@ -212,7 +212,7 @@ export function TaskDetailPanel({ entry, onClose, onChanged }: TaskDetailPanelPr className="text-sm text-danger-700 bg-danger-50 border border-danger-200 rounded-md p-2" data-testid="task-detail-error" > - {error} + {typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"} )} diff --git a/frontend/src/components/common/ABACRuleEditor.tsx b/frontend/src/components/common/ABACRuleEditor.tsx index b5078f4..d806872 100644 --- a/frontend/src/components/common/ABACRuleEditor.tsx +++ b/frontend/src/components/common/ABACRuleEditor.tsx @@ -583,7 +583,7 @@ function PolicyForm({ initial, entityType, onSave, onCancel }: PolicyFormProps) {/* Error */} {error && (

- {error} + {typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

)} diff --git a/frontend/src/components/knowledge/AskKnowledge.tsx b/frontend/src/components/knowledge/AskKnowledge.tsx index ba397c1..2d606c9 100644 --- a/frontend/src/components/knowledge/AskKnowledge.tsx +++ b/frontend/src/components/knowledge/AskKnowledge.tsx @@ -90,7 +90,7 @@ export function AskKnowledge() { })} - {error &&

{error}

} + {error &&

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

} {loading && (
diff --git a/frontend/src/components/knowledge/KnowledgeGraph.tsx b/frontend/src/components/knowledge/KnowledgeGraph.tsx index 7104e16..a591748 100644 --- a/frontend/src/components/knowledge/KnowledgeGraph.tsx +++ b/frontend/src/components/knowledge/KnowledgeGraph.tsx @@ -236,7 +236,7 @@ export function KnowledgeGraph() { )} {!loading && error && (
-

{error}

+

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

diff --git a/frontend/src/components/layout/MessageSidebar.tsx b/frontend/src/components/layout/MessageSidebar.tsx index a50f726..0ce7536 100644 --- a/frontend/src/components/layout/MessageSidebar.tsx +++ b/frontend/src/components/layout/MessageSidebar.tsx @@ -552,7 +552,7 @@ export function MessageSidebar() {

Laden...

)} {error && ( -

{error}

+

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

)} {!loading && conversations.length === 0 && !error && (

Keine Konversationen

diff --git a/frontend/src/components/mail/LabelManager.tsx b/frontend/src/components/mail/LabelManager.tsx index c3bf95d..bff95c3 100644 --- a/frontend/src/components/mail/LabelManager.tsx +++ b/frontend/src/components/mail/LabelManager.tsx @@ -103,7 +103,7 @@ export function LabelManager() { if (error) { return (
-

{error}

+

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

); } diff --git a/frontend/src/components/mail/PgpSettings.tsx b/frontend/src/components/mail/PgpSettings.tsx index 661e14d..97347f2 100644 --- a/frontend/src/components/mail/PgpSettings.tsx +++ b/frontend/src/components/mail/PgpSettings.tsx @@ -93,7 +93,7 @@ export function PgpSettings() { if (error) { return (
-

{error}

+

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

); } diff --git a/frontend/src/components/mail/RuleEditor.tsx b/frontend/src/components/mail/RuleEditor.tsx index efd1ad6..441ba11 100644 --- a/frontend/src/components/mail/RuleEditor.tsx +++ b/frontend/src/components/mail/RuleEditor.tsx @@ -153,7 +153,7 @@ export function RuleEditor({ accountId }: { accountId: string }) { if (error) { return (
-

{error}

+

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

); } diff --git a/frontend/src/components/mail/SignatureManager.tsx b/frontend/src/components/mail/SignatureManager.tsx index 019373f..9a985c5 100644 --- a/frontend/src/components/mail/SignatureManager.tsx +++ b/frontend/src/components/mail/SignatureManager.tsx @@ -134,7 +134,7 @@ export function SignatureManager() { if (error) { return (
-

{error}

+

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

); } diff --git a/frontend/src/components/mail/TemplatePicker.tsx b/frontend/src/components/mail/TemplatePicker.tsx index 301dca8..3a4b70d 100644 --- a/frontend/src/components/mail/TemplatePicker.tsx +++ b/frontend/src/components/mail/TemplatePicker.tsx @@ -66,7 +66,7 @@ export function TemplatePicker({ onSelect }: TemplatePickerProps) { if (error) { return (
-

{error}

+

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

); } diff --git a/frontend/src/components/shared/CsvImportDialog.tsx b/frontend/src/components/shared/CsvImportDialog.tsx index e190e1e..e503bf5 100644 --- a/frontend/src/components/shared/CsvImportDialog.tsx +++ b/frontend/src/components/shared/CsvImportDialog.tsx @@ -106,7 +106,7 @@ export function CsvImportDialog({ open, onClose, onSuccess }: CsvImportDialogPro aria-label="CSV-Datei auswählen" data-testid="csv-file-input" /> - {error &&

{error}

} + {error &&

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

}
{previewData && previewData.rows.length > 0 && ( diff --git a/frontend/src/components/ui/Input.tsx b/frontend/src/components/ui/Input.tsx index 43e25c1..1df9361 100644 --- a/frontend/src/components/ui/Input.tsx +++ b/frontend/src/components/ui/Input.tsx @@ -43,7 +43,7 @@ export const Input = React.forwardRef( /> {error && ( )} {helperText && !error && ( diff --git a/frontend/src/components/ui/Select.tsx b/frontend/src/components/ui/Select.tsx index 1a6b9a5..d308fac 100644 --- a/frontend/src/components/ui/Select.tsx +++ b/frontend/src/components/ui/Select.tsx @@ -54,7 +54,7 @@ export const Select = React.forwardRef( {error && ( )} {helperText && !error && ( diff --git a/frontend/src/components/wiki/WikiBrowser.tsx b/frontend/src/components/wiki/WikiBrowser.tsx index da158b6..aa77139 100644 --- a/frontend/src/components/wiki/WikiBrowser.tsx +++ b/frontend/src/components/wiki/WikiBrowser.tsx @@ -180,7 +180,7 @@ export function WikiBrowser({ selectedArticleId, onSelectArticle }: WikiBrowserP
)} - {!loading && error &&

{error}

} + {!loading && error &&

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

} {!loading && !error && ( <> - {error &&
{error}
} + {error &&
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
} {showForm && (
@@ -134,7 +134,7 @@ function PresetTab() {

Modelle & Presets

- {error &&
{error}
} + {error &&
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
} {showForm && (
@@ -225,7 +225,7 @@ function AgentTab() {

Agenten

- {error &&
{error}
} + {error &&
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
} {showForm && (
@@ -291,7 +291,7 @@ function ToolsTab() {

Verfügbare Tools

Diese Tools werden von Plugins bereitgestellt und können Agenten zugewiesen werden.

- {error &&
{error}
} + {error &&
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
} {tools.length === 0 ? (
Keine Tools verfügbar. Plugins können Tools registrieren.
) : ( diff --git a/frontend/src/pages/Calendar.tsx b/frontend/src/pages/Calendar.tsx index aee1689..072d9f9 100644 --- a/frontend/src/pages/Calendar.tsx +++ b/frontend/src/pages/Calendar.tsx @@ -555,7 +555,7 @@ export function CalendarPage() {
{error && (
-

{error}

+

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

)} diff --git a/frontend/src/pages/CalendarKanban.tsx b/frontend/src/pages/CalendarKanban.tsx index ed35529..e3dbedc 100644 --- a/frontend/src/pages/CalendarKanban.tsx +++ b/frontend/src/pages/CalendarKanban.tsx @@ -98,7 +98,7 @@ export function CalendarKanbanPage() { className="mb-3 text-sm text-danger-700 bg-danger-50 border border-danger-200 rounded-md p-2" data-testid="kanban-error" > - {error} + {typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
)} diff --git a/frontend/src/pages/Communication.tsx b/frontend/src/pages/Communication.tsx index 5056cbb..f637d66 100644 --- a/frontend/src/pages/Communication.tsx +++ b/frontend/src/pages/Communication.tsx @@ -501,7 +501,7 @@ function ChatWindow({ convId, category, onBack }: ChatWindowProps) {
)} {error && ( -
{error}
+
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
)} {!loading && messages.length === 0 && !aiStreaming && (
diff --git a/frontend/src/pages/DmsTrash.tsx b/frontend/src/pages/DmsTrash.tsx index 596eb09..a77c2bd 100644 --- a/frontend/src/pages/DmsTrash.tsx +++ b/frontend/src/pages/DmsTrash.tsx @@ -114,7 +114,7 @@ export function DmsTrashPage() {
window.location.reload()}>{t('dms.cancel')}} />
diff --git a/frontend/src/pages/Mail.tsx b/frontend/src/pages/Mail.tsx index d7e8fdc..414a7af 100644 --- a/frontend/src/pages/Mail.tsx +++ b/frontend/src/pages/Mail.tsx @@ -872,7 +872,7 @@ export function MailPage() {
{error && (
-

{error}

+

{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}

)} diff --git a/frontend/src/pages/SettingsCurrencies.tsx b/frontend/src/pages/SettingsCurrencies.tsx index ac7b27c..08d2a0d 100644 --- a/frontend/src/pages/SettingsCurrencies.tsx +++ b/frontend/src/pages/SettingsCurrencies.tsx @@ -116,7 +116,7 @@ export function SettingsCurrenciesPage() {
- {error &&
{error}
} + {error &&
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
} {showForm && (
diff --git a/frontend/src/pages/SettingsSequences.tsx b/frontend/src/pages/SettingsSequences.tsx index 013383b..08cc74c 100644 --- a/frontend/src/pages/SettingsSequences.tsx +++ b/frontend/src/pages/SettingsSequences.tsx @@ -115,7 +115,7 @@ export function SettingsSequencesPage() {
- {error &&
{error}
} + {error &&
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
} {showForm && ( diff --git a/frontend/src/pages/SettingsTaxes.tsx b/frontend/src/pages/SettingsTaxes.tsx index 5cdec2c..08bc009 100644 --- a/frontend/src/pages/SettingsTaxes.tsx +++ b/frontend/src/pages/SettingsTaxes.tsx @@ -118,7 +118,7 @@ export function SettingsTaxesPage() {
- {error &&
{error}
} + {error &&
{typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
} {showForm && ( diff --git a/frontend/src/pages/SettingsWebhooks.tsx b/frontend/src/pages/SettingsWebhooks.tsx index 970afa6..974965c 100644 --- a/frontend/src/pages/SettingsWebhooks.tsx +++ b/frontend/src/pages/SettingsWebhooks.tsx @@ -203,7 +203,7 @@ function WebhookFormModal({ open, onClose, webhook, onSubmit, isSubmitting, erro {/* Error */} {error && (
- {error} + {typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
)} diff --git a/frontend/src/pages/Tags.tsx b/frontend/src/pages/Tags.tsx index e9ebc2c..071ce48 100644 --- a/frontend/src/pages/Tags.tsx +++ b/frontend/src/pages/Tags.tsx @@ -135,7 +135,7 @@ function TagFormModal({ open, onClose, tag, onSubmit, isSubmitting, error }: Tag {/* Error */} {error && (
- {error} + {typeof error === "string" ? error : (error as any)?.message || "Ein Fehler ist aufgetreten"}
)}