'use client' /** * Education Search Page * Bildungsquellen und Crawler-Verwaltung */ import { useState, useCallback } from 'react' import { PagePurpose } from '@/components/common/PagePurpose' import { Search, Database, RefreshCw, ExternalLink, FileText, BookOpen, FolderOpen } from 'lucide-react' import { DokumenteTab } from '@/components/education/DokumenteTab' interface DataSource { id: string name: string type: 'api' | 'crawler' | 'manual' status: 'active' | 'inactive' | 'error' lastUpdate?: string documentCount: number url?: string } const DATA_SOURCES: DataSource[] = [ { id: 'nibis', name: 'NiBiS (Niedersachsen)', type: 'crawler', status: 'active', lastUpdate: '2026-01-20', documentCount: 1250, url: 'https://nibis.de', }, { id: 'kmk', name: 'KMK Beschluesse', type: 'crawler', status: 'active', lastUpdate: '2026-01-10', documentCount: 450, url: 'https://kmk.org', }, ] export default function EduSearchPage() { const [searchQuery, setSearchQuery] = useState('') const [activeTab, setActiveTab] = useState<'search' | 'documents' | 'sources' | 'crawler'>('search') const [documentCount, setDocumentCount] = useState(0) const handleDocumentCountChange = useCallback((count: number) => { setDocumentCount(count) }, []) return (
{/* Stats */}
{DATA_SOURCES.reduce((sum, s) => sum + s.documentCount, 0).toLocaleString()}
Dokumente gesamt
{DATA_SOURCES.length}
Datenquellen
{DATA_SOURCES.filter(s => s.type === 'crawler').length}
Aktive Crawler
16
Bundeslaender
{/* Tabs */}
{/* Search Tab */} {activeTab === 'search' && (
setSearchQuery(e.target.value)} placeholder="Suche nach Lehrplaenen, Erlassen, Curricula..." className="flex-1 px-4 py-3 border border-slate-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-lg" />
Schnellfilter:

Geben Sie einen Suchbegriff ein, um Bildungsdokumente zu durchsuchen

Die Suche durchsucht alle angebundenen Datenquellen

)} {/* Documents Tab */} {activeTab === 'documents' && ( )} {/* Sources Tab */} {activeTab === 'sources' && (
{DATA_SOURCES.map((source) => ( ))}
Datenquelle Typ Status Dokumente Letztes Update Aktion
{source.name}
{source.type.toUpperCase()} {source.status === 'active' ? 'Aktiv' : source.status === 'error' ? 'Fehler' : 'Inaktiv'} {source.documentCount.toLocaleString()} {source.lastUpdate || '-'} {source.url && ( )}
)} {/* Crawler Tab */} {activeTab === 'crawler' && (

Crawler-Verwaltung

Hier koennen Sie die Crawler fuer verschiedene Bildungsquellen steuern. Das System crawlt ausschliesslich oeffentliche Bildungsdokumente (Lehrplaene, Erlasse, Curricula). Keine Personendaten.

NiBiS Crawler

Crawlt Lehrplaene und Erlasse aus Niedersachsen

KMK Crawler

Crawlt Beschluesse der Kultusministerkonferenz

)} {/* Info Box */}

ℹ️ Verwandte Module

) }