""" 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 """
""" @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(); } } """