A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.
This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).
Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
741 lines
21 KiB
Python
741 lines
21 KiB
Python
"""
|
|
BreakPilot Studio - Hilfe & Dokumentation Modul
|
|
|
|
Benutzerfreundliche Anleitung fuer Lehrer mit Schritt-fuer-Schritt Erklaerungen.
|
|
"""
|
|
|
|
|
|
class HilfeModule:
|
|
"""Hilfe und Dokumentation fuer Lehrer."""
|
|
|
|
@staticmethod
|
|
def get_css() -> str:
|
|
"""CSS fuer das Hilfe-Modul."""
|
|
return """
|
|
/* =============================================
|
|
HILFE & DOKUMENTATION MODULE
|
|
============================================= */
|
|
|
|
/* Container */
|
|
.hilfe-container {
|
|
max-width: 100%;
|
|
min-height: 100%;
|
|
background: var(--bp-bg, #0f172a);
|
|
color: var(--bp-text, #e2e8f0);
|
|
}
|
|
|
|
/* Header */
|
|
.hilfe-header {
|
|
background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
|
|
padding: 40px;
|
|
text-align: center;
|
|
position: relative;
|
|
}
|
|
|
|
.hilfe-header h1 {
|
|
color: white;
|
|
font-size: 28px;
|
|
font-weight: 700;
|
|
margin: 0 0 8px 0;
|
|
}
|
|
|
|
.hilfe-header p {
|
|
color: rgba(255, 255, 255, 0.85);
|
|
font-size: 16px;
|
|
margin: 0;
|
|
}
|
|
|
|
/* Navigation Tabs */
|
|
.hilfe-nav {
|
|
display: flex;
|
|
gap: 4px;
|
|
padding: 16px 24px;
|
|
background: var(--bp-surface, #1e293b);
|
|
border-bottom: 1px solid var(--bp-border, #334155);
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.hilfe-nav-tab {
|
|
padding: 10px 20px;
|
|
background: transparent;
|
|
border: 1px solid var(--bp-border, #334155);
|
|
border-radius: 8px;
|
|
color: var(--bp-text-muted, #94a3b8);
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.hilfe-nav-tab:hover {
|
|
background: var(--bp-surface-elevated, #334155);
|
|
color: var(--bp-text, #e2e8f0);
|
|
}
|
|
|
|
.hilfe-nav-tab.active {
|
|
background: #3b82f6;
|
|
border-color: #3b82f6;
|
|
color: white;
|
|
}
|
|
|
|
/* Content */
|
|
.hilfe-content {
|
|
padding: 32px;
|
|
max-width: 900px;
|
|
margin: 0 auto;
|
|
width: 100%;
|
|
}
|
|
|
|
.hilfe-section {
|
|
display: none;
|
|
}
|
|
|
|
.hilfe-section.active {
|
|
display: block;
|
|
}
|
|
|
|
/* Cards */
|
|
.hilfe-card {
|
|
background: var(--bp-surface, #1e293b);
|
|
border: 1px solid var(--bp-border, #334155);
|
|
border-radius: 16px;
|
|
padding: 24px;
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.hilfe-card h2 {
|
|
color: var(--bp-text, #e2e8f0);
|
|
font-size: 20px;
|
|
margin: 0 0 16px 0;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
|
|
.hilfe-card h3 {
|
|
color: var(--bp-text, #e2e8f0);
|
|
font-size: 16px;
|
|
margin: 24px 0 12px 0;
|
|
}
|
|
|
|
.hilfe-card p {
|
|
color: var(--bp-text-muted, #94a3b8);
|
|
font-size: 14px;
|
|
line-height: 1.7;
|
|
margin: 0 0 16px 0;
|
|
}
|
|
|
|
/* Step List */
|
|
.hilfe-steps {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
counter-reset: step;
|
|
}
|
|
|
|
.hilfe-step {
|
|
position: relative;
|
|
padding: 20px 20px 20px 70px;
|
|
background: var(--bp-surface-elevated);
|
|
border-radius: 12px;
|
|
margin-bottom: 12px;
|
|
counter-increment: step;
|
|
}
|
|
|
|
.hilfe-step::before {
|
|
content: counter(step);
|
|
position: absolute;
|
|
left: 20px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
width: 36px;
|
|
height: 36px;
|
|
background: linear-gradient(135deg, #3b82f6, #1d4ed8);
|
|
color: white;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-weight: 700;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.hilfe-step h4 {
|
|
color: var(--bp-text);
|
|
font-size: 15px;
|
|
margin: 0 0 6px 0;
|
|
}
|
|
|
|
.hilfe-step p {
|
|
color: var(--bp-text-muted);
|
|
font-size: 13px;
|
|
margin: 0;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/* Info Box */
|
|
.hilfe-info {
|
|
background: rgba(59, 130, 246, 0.1);
|
|
border: 1px solid rgba(59, 130, 246, 0.3);
|
|
border-radius: 12px;
|
|
padding: 16px 20px;
|
|
margin: 16px 0;
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.hilfe-info-icon {
|
|
font-size: 20px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.hilfe-info-text {
|
|
color: var(--bp-text);
|
|
font-size: 14px;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.hilfe-info-text strong {
|
|
color: #3b82f6;
|
|
}
|
|
|
|
/* Warning Box */
|
|
.hilfe-warning {
|
|
background: rgba(245, 158, 11, 0.1);
|
|
border: 1px solid rgba(245, 158, 11, 0.3);
|
|
border-radius: 12px;
|
|
padding: 16px 20px;
|
|
margin: 16px 0;
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.hilfe-warning-icon {
|
|
font-size: 20px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.hilfe-warning-text {
|
|
color: var(--bp-text);
|
|
font-size: 14px;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
/* Success Box */
|
|
.hilfe-success {
|
|
background: rgba(34, 197, 94, 0.1);
|
|
border: 1px solid rgba(34, 197, 94, 0.3);
|
|
border-radius: 12px;
|
|
padding: 16px 20px;
|
|
margin: 16px 0;
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.hilfe-success-icon {
|
|
font-size: 20px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.hilfe-success-text {
|
|
color: var(--bp-text);
|
|
font-size: 14px;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
/* FAQ */
|
|
.hilfe-faq {
|
|
border: 1px solid var(--bp-border);
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.hilfe-faq-question {
|
|
padding: 16px 20px;
|
|
background: var(--bp-surface-elevated);
|
|
color: var(--bp-text);
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
transition: background 0.2s;
|
|
}
|
|
|
|
.hilfe-faq-question:hover {
|
|
background: var(--bp-border);
|
|
}
|
|
|
|
.hilfe-faq-arrow {
|
|
transition: transform 0.3s;
|
|
}
|
|
|
|
.hilfe-faq.open .hilfe-faq-arrow {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.hilfe-faq-answer {
|
|
padding: 0 20px;
|
|
max-height: 0;
|
|
overflow: hidden;
|
|
transition: all 0.3s;
|
|
background: var(--bp-surface);
|
|
}
|
|
|
|
.hilfe-faq.open .hilfe-faq-answer {
|
|
padding: 16px 20px;
|
|
max-height: 500px;
|
|
}
|
|
|
|
.hilfe-faq-answer p {
|
|
margin: 0;
|
|
}
|
|
|
|
/* Keyboard Shortcuts */
|
|
.hilfe-shortcut {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 12px 0;
|
|
border-bottom: 1px solid var(--bp-border);
|
|
}
|
|
|
|
.hilfe-shortcut:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.hilfe-shortcut-keys {
|
|
display: flex;
|
|
gap: 4px;
|
|
}
|
|
|
|
.hilfe-shortcut-keys kbd {
|
|
background: var(--bp-surface-elevated);
|
|
border: 1px solid var(--bp-border);
|
|
border-radius: 6px;
|
|
padding: 4px 10px;
|
|
font-family: monospace;
|
|
font-size: 13px;
|
|
color: var(--bp-text);
|
|
}
|
|
|
|
.hilfe-shortcut-desc {
|
|
color: var(--bp-text-muted);
|
|
font-size: 14px;
|
|
}
|
|
|
|
/* Contact Card */
|
|
.hilfe-contact {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 16px;
|
|
margin-top: 24px;
|
|
}
|
|
|
|
@media (max-width: 600px) {
|
|
.hilfe-contact {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
|
|
.hilfe-contact-card {
|
|
background: var(--bp-surface-elevated);
|
|
border-radius: 12px;
|
|
padding: 20px;
|
|
text-align: center;
|
|
}
|
|
|
|
.hilfe-contact-icon {
|
|
font-size: 32px;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.hilfe-contact-title {
|
|
color: var(--bp-text);
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.hilfe-contact-info {
|
|
color: var(--bp-text-muted);
|
|
font-size: 14px;
|
|
}
|
|
"""
|
|
|
|
@staticmethod
|
|
def get_html() -> str:
|
|
"""HTML fuer das Hilfe-Modul."""
|
|
return """
|
|
<!-- Hilfe & Dokumentation Panel -->
|
|
<div class="panel panel-hilfe" id="panel-hilfe" style="display: none;">
|
|
<div class="hilfe-container">
|
|
|
|
<!-- Header -->
|
|
<div class="hilfe-header">
|
|
<h1>Hilfe & Dokumentation</h1>
|
|
<p>Schritt-fuer-Schritt Anleitungen fuer alle BreakPilot-Funktionen</p>
|
|
</div>
|
|
|
|
<!-- Navigation -->
|
|
<div class="hilfe-nav">
|
|
<button class="hilfe-nav-tab active" data-tab="start" onclick="showHilfeTab('start')">Schnellstart</button>
|
|
<button class="hilfe-nav-tab" data-tab="abitur" onclick="showHilfeTab('abitur')">Abiturkorrektur</button>
|
|
<button class="hilfe-nav-tab" data-tab="arbeitsblatt" onclick="showHilfeTab('arbeitsblatt')">Arbeitsblaetter</button>
|
|
<button class="hilfe-nav-tab" data-tab="tastatur" onclick="showHilfeTab('tastatur')">Tastenkuerzel</button>
|
|
<button class="hilfe-nav-tab" data-tab="faq" onclick="showHilfeTab('faq')">FAQ</button>
|
|
<button class="hilfe-nav-tab" data-tab="kontakt" onclick="showHilfeTab('kontakt')">Kontakt</button>
|
|
</div>
|
|
|
|
<!-- Content -->
|
|
<div class="hilfe-content">
|
|
|
|
<!-- Schnellstart Section -->
|
|
<div id="hilfe-start" class="hilfe-section active">
|
|
<div class="hilfe-card">
|
|
<h2>Willkommen bei BreakPilot</h2>
|
|
<p>BreakPilot ist Ihr digitaler Assistent fuer den Schulalltag. Mit KI-Unterstuetzung sparen Sie Zeit bei der Korrektur, Erstellung von Materialien und Kommunikation.</p>
|
|
|
|
<div class="hilfe-info">
|
|
<span class="hilfe-info-icon">💡</span>
|
|
<div class="hilfe-info-text">
|
|
<strong>Tipp:</strong> Druecken Sie <kbd>Ctrl+K</kbd> um schnell zwischen Modulen zu suchen.
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Die wichtigsten Module</h3>
|
|
<ul class="hilfe-steps">
|
|
<li class="hilfe-step">
|
|
<h4>Abiturklausuren korrigieren</h4>
|
|
<p>KI-gestuetzte Korrektur nach dem 15-Punkte-System mit automatischer Gutachten-Generierung.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Arbeitsblaetter erstellen</h4>
|
|
<p>Laden Sie PDFs hoch und erstellen Sie interaktive Lernmaterialien mit Mindmaps und Tests.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Elternbriefe schreiben</h4>
|
|
<p>Rechtssichere Elternbriefe mit GFK-Analyse und Vorlagen.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Klassen verwalten</h4>
|
|
<p>Schueler, Noten und Klassenbuch an einem Ort.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="hilfe-success">
|
|
<span class="hilfe-success-icon">🔒</span>
|
|
<div class="hilfe-success-text">
|
|
<strong>Datenschutz:</strong> Alle Daten bleiben auf dem Schulserver. Keine Cloud-Speicherung, keine Weitergabe an Dritte.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Abiturkorrektur Section -->
|
|
<div id="hilfe-abitur" class="hilfe-section">
|
|
<div class="hilfe-card">
|
|
<h2>Abiturklausuren korrigieren</h2>
|
|
<p>Die KI-gestuetzte Abiturkorrektur hilft Ihnen, bis zu 80% Zeit bei der Erstkorrektur zu sparen.</p>
|
|
|
|
<h3>So starten Sie</h3>
|
|
<ul class="hilfe-steps">
|
|
<li class="hilfe-step">
|
|
<h4>Klicken Sie auf "Abiturklausuren" im Dashboard</h4>
|
|
<p>Oder nutzen Sie die Sidebar und waehlen "Klausurkorrektur" unter Leistungsbewertung.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Waehlen Sie eine Einstiegsoption</h4>
|
|
<p><strong>Schnellstart:</strong> Laden Sie Arbeiten direkt hoch - ideal fuer sofortiges Loslegen.<br>
|
|
<strong>Neue Klausur:</strong> Erstellen Sie eine Klausur mit allen Metadaten fuer vollstaendige Verwaltung.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Laden Sie die eingescannten Arbeiten hoch</h4>
|
|
<p>Unterstuetzte Formate: PDF, JPG, PNG. Drag & Drop oder Dateiauswahl moeglich.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Optional: Erwartungshorizont bereitstellen</h4>
|
|
<p>Waehlen Sie einen Aufgabentyp und beschreiben Sie die Aufgabenstellung. Die KI nutzt dies fuer bessere Bewertungsvorschlaege.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Korrigieren Sie die Arbeiten</h4>
|
|
<p>Im 2/3-1/3 Layout: Links das Dokument mit Zoom, rechts die Bewertungskriterien.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Setzen Sie Anmerkungen</h4>
|
|
<p>Klicken Sie auf das Dokument um Fehler zu markieren:<br>
|
|
<strong>RS (rot):</strong> Rechtschreibfehler<br>
|
|
<strong>Gram (blau):</strong> Grammatikfehler<br>
|
|
<strong>Inhalt (gruen):</strong> Inhaltliche Anmerkungen</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Bewerten Sie die 5 Kriterien</h4>
|
|
<p>Rechtschreibung (15%), Grammatik (15%), Inhalt (40%), Struktur (15%), Stil (15%)</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Generieren Sie das Gutachten</h4>
|
|
<p>Klicken Sie "Gutachten generieren" fuer einen KI-Vorschlag. Sie koennen es frei bearbeiten.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="hilfe-info">
|
|
<span class="hilfe-info-icon">📊</span>
|
|
<div class="hilfe-info-text">
|
|
<strong>Fairness-Analyse:</strong> Nach mehreren Korrekturen koennen Sie die Fairness-Analyse nutzen, um Ausreisser zu identifizieren und die Konsistenz Ihrer Bewertungen zu pruefen.
|
|
</div>
|
|
</div>
|
|
|
|
<h3>PDF-Export</h3>
|
|
<p>Exportieren Sie Ihre Ergebnisse als PDF:</p>
|
|
<ul style="color: var(--bp-text-muted); line-height: 1.8; padding-left: 20px;">
|
|
<li><strong>Einzelgutachten:</strong> PDF fuer einen Schueler</li>
|
|
<li><strong>Alle Gutachten:</strong> Gesamtes PDF fuer alle Arbeiten</li>
|
|
<li><strong>Notenuebersicht:</strong> Uebersicht aller Noten</li>
|
|
<li><strong>Anmerkungen:</strong> Alle Annotationen als PDF</li>
|
|
</ul>
|
|
|
|
<div class="hilfe-warning">
|
|
<span class="hilfe-warning-icon">⚠️</span>
|
|
<div class="hilfe-warning-text">
|
|
<strong>Wichtig:</strong> Der KI-Vorschlag ist nur ein Startpunkt. Pruefen und passen Sie alle Bewertungen und Gutachten nach Ihrem fachlichen Urteil an.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Arbeitsblaetter Section -->
|
|
<div id="hilfe-arbeitsblatt" class="hilfe-section">
|
|
<div class="hilfe-card">
|
|
<h2>Arbeitsblaetter erstellen</h2>
|
|
<p>Erstellen Sie interaktive Lernmaterialien aus Ihren vorhandenen PDFs.</p>
|
|
|
|
<h3>Schritt-fuer-Schritt</h3>
|
|
<ul class="hilfe-steps">
|
|
<li class="hilfe-step">
|
|
<h4>Oeffnen Sie "Arbeitsblaetter" im Dashboard</h4>
|
|
<p>Oder ueber die Sidebar unter "Studio".</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Laden Sie ein PDF hoch</h4>
|
|
<p>Ziehen Sie die Datei in den Upload-Bereich oder klicken Sie zum Auswaehlen.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Waehlen Sie Generierungsoptionen</h4>
|
|
<p>Mindmap, Multiple-Choice-Test, Lueckentext oder Zusammenfassung.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Bearbeiten Sie das Ergebnis</h4>
|
|
<p>Passen Sie die generierten Inhalte nach Bedarf an.</p>
|
|
</li>
|
|
<li class="hilfe-step">
|
|
<h4>Exportieren oder teilen</h4>
|
|
<p>Speichern Sie als PDF oder teilen Sie direkt mit Schuelern.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="hilfe-success">
|
|
<span class="hilfe-success-icon">✨</span>
|
|
<div class="hilfe-success-text">
|
|
Die KI analysiert den Text und erstellt passende Lernmaterialien. Sie behalten die volle Kontrolle ueber alle Inhalte.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Tastenkuerzel Section -->
|
|
<div id="hilfe-tastatur" class="hilfe-section">
|
|
<div class="hilfe-card">
|
|
<h2>Tastenkuerzel</h2>
|
|
<p>Arbeiten Sie schneller mit diesen Tastenkuerzeln.</p>
|
|
|
|
<h3>Navigation</h3>
|
|
<div class="hilfe-shortcut">
|
|
<div class="hilfe-shortcut-keys"><kbd>Ctrl</kbd><kbd>K</kbd></div>
|
|
<div class="hilfe-shortcut-desc">Schnellsuche oeffnen</div>
|
|
</div>
|
|
<div class="hilfe-shortcut">
|
|
<div class="hilfe-shortcut-keys"><kbd>Esc</kbd></div>
|
|
<div class="hilfe-shortcut-desc">Suche schliessen / Abbrechen</div>
|
|
</div>
|
|
|
|
<h3>Im Korrektur-Modus</h3>
|
|
<div class="hilfe-shortcut">
|
|
<div class="hilfe-shortcut-keys"><kbd>+</kbd></div>
|
|
<div class="hilfe-shortcut-desc">Hineinzoomen</div>
|
|
</div>
|
|
<div class="hilfe-shortcut">
|
|
<div class="hilfe-shortcut-keys"><kbd>-</kbd></div>
|
|
<div class="hilfe-shortcut-desc">Herauszoomen</div>
|
|
</div>
|
|
<div class="hilfe-shortcut">
|
|
<div class="hilfe-shortcut-keys"><kbd>←</kbd></div>
|
|
<div class="hilfe-shortcut-desc">Vorherige Arbeit</div>
|
|
</div>
|
|
<div class="hilfe-shortcut">
|
|
<div class="hilfe-shortcut-keys"><kbd>→</kbd></div>
|
|
<div class="hilfe-shortcut-desc">Naechste Arbeit</div>
|
|
</div>
|
|
<div class="hilfe-shortcut">
|
|
<div class="hilfe-shortcut-keys"><kbd>Ctrl</kbd><kbd>S</kbd></div>
|
|
<div class="hilfe-shortcut-desc">Speichern</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- FAQ Section -->
|
|
<div id="hilfe-faq" class="hilfe-section">
|
|
<div class="hilfe-card">
|
|
<h2>Haeufige Fragen</h2>
|
|
|
|
<div class="hilfe-faq" onclick="toggleFaq(this)">
|
|
<div class="hilfe-faq-question">
|
|
Kann ich eine Korrektur unterbrechen und spaeter fortsetzen?
|
|
<span class="hilfe-faq-arrow">▼</span>
|
|
</div>
|
|
<div class="hilfe-faq-answer">
|
|
<p>Ja, alle Aenderungen werden automatisch gespeichert. Sie koennen jederzeit unterbrechen und spaeter an derselben Stelle weitermachen.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hilfe-faq" onclick="toggleFaq(this)">
|
|
<div class="hilfe-faq-question">
|
|
Was passiert mit meinen Daten?
|
|
<span class="hilfe-faq-arrow">▼</span>
|
|
</div>
|
|
<div class="hilfe-faq-answer">
|
|
<p>Alle Daten werden lokal auf dem Schulserver gespeichert. Es gibt keine Cloud-Speicherung und keine Weitergabe an Dritte. Die KI-Verarbeitung erfolgt auf unserer eigenen Infrastruktur.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hilfe-faq" onclick="toggleFaq(this)">
|
|
<div class="hilfe-faq-question">
|
|
Kann ich den KI-Vorschlag komplett ueberschreiben?
|
|
<span class="hilfe-faq-arrow">▼</span>
|
|
</div>
|
|
<div class="hilfe-faq-answer">
|
|
<p>Ja, das Gutachten ist frei editierbar. Der KI-Vorschlag ist nur ein Startpunkt. Sie haben die volle Kontrolle ueber alle Inhalte.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hilfe-faq" onclick="toggleFaq(this)">
|
|
<div class="hilfe-faq-question">
|
|
Wie funktioniert die Handschrift-Erkennung?
|
|
<span class="hilfe-faq-arrow">▼</span>
|
|
</div>
|
|
<div class="hilfe-faq-answer">
|
|
<p>Das System erkennt Handschrift automatisch mit einer speziellen KI. Bei schlechter Lesbarkeit koennen Sie den erkannten Text manuell korrigieren.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hilfe-faq" onclick="toggleFaq(this)">
|
|
<div class="hilfe-faq-question">
|
|
Werden Schuelernamen an die KI gesendet?
|
|
<span class="hilfe-faq-arrow">▼</span>
|
|
</div>
|
|
<div class="hilfe-faq-answer">
|
|
<p>Nein! Die Klausurkorrektur verwendet Pseudonymisierung. Schuelernamen bleiben immer lokal in Ihrem Browser. Nur anonymisierte Tokens werden zur Verarbeitung gesendet.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hilfe-faq" onclick="toggleFaq(this)">
|
|
<div class="hilfe-faq-question">
|
|
Wie funktioniert die Zweitkorrektur?
|
|
<span class="hilfe-faq-arrow">▼</span>
|
|
</div>
|
|
<div class="hilfe-faq-answer">
|
|
<p>Nach Abschluss der Erstkorrektur kann ein Zweitkorrektor zugewiesen werden. Bei einer Differenz von 3 Punkten ist eine Einigung erforderlich, bei 4+ Punkten wird automatisch eine Drittkorrektur ausgeloest.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Kontakt Section -->
|
|
<div id="hilfe-kontakt" class="hilfe-section">
|
|
<div class="hilfe-card">
|
|
<h2>Hilfe & Support</h2>
|
|
<p>Bei Fragen oder Problemen stehen Ihnen folgende Ansprechpartner zur Verfuegung.</p>
|
|
|
|
<div class="hilfe-contact">
|
|
<div class="hilfe-contact-card">
|
|
<div class="hilfe-contact-icon">👨💼</div>
|
|
<div class="hilfe-contact-title">Schuladministrator</div>
|
|
<div class="hilfe-contact-info">Erster Ansprechpartner fuer technische Fragen</div>
|
|
</div>
|
|
<div class="hilfe-contact-card">
|
|
<div class="hilfe-contact-icon">📧</div>
|
|
<div class="hilfe-contact-title">E-Mail Support</div>
|
|
<div class="hilfe-contact-info">support@breakpilot.de</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hilfe-info" style="margin-top: 24px;">
|
|
<span class="hilfe-info-icon">📚</span>
|
|
<div class="hilfe-info-text">
|
|
<strong>Weitere Ressourcen:</strong> Nutzen Sie die einzelnen Modul-Anleitungen in der Sidebar oder schauen Sie in das System-Info Modul fuer technische Details.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div><!-- /hilfe-container -->
|
|
</div>
|
|
"""
|
|
|
|
@staticmethod
|
|
def get_js() -> str:
|
|
"""JavaScript fuer das Hilfe-Modul."""
|
|
return """
|
|
// =============================================
|
|
// HILFE & DOKUMENTATION MODULE
|
|
// =============================================
|
|
|
|
let hilfeInitialized = false;
|
|
|
|
function loadHilfeModule() {
|
|
if (hilfeInitialized) {
|
|
console.log('Hilfe module already initialized');
|
|
return;
|
|
}
|
|
|
|
console.log('Initializing Hilfe Module...');
|
|
hilfeInitialized = true;
|
|
console.log('Hilfe Module initialized');
|
|
}
|
|
|
|
function showHilfeTab(tabName) {
|
|
// Update tabs
|
|
document.querySelectorAll('.hilfe-nav-tab').forEach(tab => {
|
|
tab.classList.toggle('active', tab.dataset.tab === tabName);
|
|
});
|
|
|
|
// Update sections
|
|
document.querySelectorAll('.hilfe-section').forEach(section => {
|
|
section.classList.remove('active');
|
|
});
|
|
|
|
const targetSection = document.getElementById('hilfe-' + tabName);
|
|
if (targetSection) {
|
|
targetSection.classList.add('active');
|
|
}
|
|
}
|
|
|
|
function toggleFaq(element) {
|
|
element.classList.toggle('open');
|
|
}
|
|
|
|
// Show panel function
|
|
function showHilfePanel() {
|
|
hideAllPanels();
|
|
const panel = document.getElementById('panel-hilfe');
|
|
if (panel) {
|
|
panel.classList.add('active');
|
|
loadHilfeModule();
|
|
}
|
|
}
|
|
"""
|