diff --git a/admin-compliance/app/(sdk)/sdk/document-generator/page.tsx b/admin-compliance/app/(sdk)/sdk/document-generator/page.tsx index e240fbe..73b8f66 100644 --- a/admin-compliance/app/(sdk)/sdk/document-generator/page.tsx +++ b/admin-compliance/app/(sdk)/sdk/document-generator/page.tsx @@ -454,6 +454,13 @@ export default function DocumentGeneratorPage() { + {/* Service unreachable warning */} + {!isLoading && !status && ( +
+ Template-Service nicht erreichbar. Stellen Sie sicher, dass breakpilot-core läuft (curl -sf http://macmini:8099/health). Das Suchen und Zusammenstellen von Vorlagen ist erst nach Verbindung möglich. +
+ )} + {/* Status Overview */}
@@ -737,6 +744,24 @@ export default function DocumentGeneratorPage() { Kopieren +
+ + +
{/* Rules Table */} diff --git a/admin-compliance/components/sdk/source-policy/SourcesTab.tsx b/admin-compliance/components/sdk/source-policy/SourcesTab.tsx index 5058fb8..b1205a5 100644 --- a/admin-compliance/components/sdk/source-policy/SourcesTab.tsx +++ b/admin-compliance/components/sdk/source-policy/SourcesTab.tsx @@ -51,6 +51,7 @@ export function SourcesTab({ apiBase, onUpdate }: SourcesTabProps) { const [searchTerm, setSearchTerm] = useState('') const [licenseFilter, setLicenseFilter] = useState('') const [statusFilter, setStatusFilter] = useState<'all' | 'active' | 'inactive'>('all') + const [sourceTypeFilter, setSourceTypeFilter] = useState('') // Edit modal const [editingSource, setEditingSource] = useState(null) @@ -69,7 +70,7 @@ export function SourcesTab({ apiBase, onUpdate }: SourcesTabProps) { useEffect(() => { fetchSources() - }, [licenseFilter, statusFilter]) + }, [licenseFilter, statusFilter, sourceTypeFilter]) const fetchSources = async () => { try { @@ -77,6 +78,7 @@ export function SourcesTab({ apiBase, onUpdate }: SourcesTabProps) { const params = new URLSearchParams() if (licenseFilter) params.append('license', licenseFilter) if (statusFilter !== 'all') params.append('active_only', statusFilter === 'active' ? 'true' : 'false') + if (sourceTypeFilter) params.append('source_type', sourceTypeFilter) const res = await fetch(`${apiBase}/sources?${params}`) if (!res.ok) throw new Error('Fehler beim Laden') @@ -230,6 +232,18 @@ export function SourcesTab({ apiBase, onUpdate }: SourcesTabProps) { +