'use client'
/**
* Education Search Page
* Bildungsquellen und Crawler-Verwaltung
*/
import { useState } from 'react'
import { PagePurpose } from '@/components/common/PagePurpose'
import { Search, Database, RefreshCw, ExternalLink, FileText, BookOpen } from 'lucide-react'
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' | 'sources' | 'crawler'>('search')
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
{/* Tabs */}
setActiveTab('search')}
className={`px-4 py-2 rounded-lg font-medium transition-colors ${
activeTab === 'search'
? 'bg-blue-600 text-white'
: 'bg-slate-100 text-slate-600 hover:bg-slate-200'
}`}
>
Suche
setActiveTab('sources')}
className={`px-4 py-2 rounded-lg font-medium transition-colors ${
activeTab === 'sources'
? 'bg-blue-600 text-white'
: 'bg-slate-100 text-slate-600 hover:bg-slate-200'
}`}
>
Datenquellen
setActiveTab('crawler')}
className={`px-4 py-2 rounded-lg font-medium transition-colors ${
activeTab === 'crawler'
? 'bg-blue-600 text-white'
: 'bg-slate-100 text-slate-600 hover:bg-slate-200'
}`}
>
Crawler
{/* 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"
/>
Suchen
Schnellfilter:
Lehrplaene
Erlasse
Kerncurricula
Abitur
Niedersachsen
Geben Sie einen Suchbegriff ein, um Bildungsdokumente zu durchsuchen
Die Suche durchsucht alle angebundenen Datenquellen
)}
{/* Sources Tab */}
{activeTab === 'sources' && (
Datenquelle
Typ
Status
Dokumente
Letztes Update
Aktion
{DATA_SOURCES.map((source) => (
{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
Crawl starten
KMK Crawler
Crawlt Beschluesse der Kultusministerkonferenz
Crawl starten
)}
{/* Info Box */}
)
}