"""
Meetings Module - Template Functions.

Enthält:
- render_sidebar: Navigation für Meeting-Seiten
- render_base_page: Basis-Template für alle Meeting-Seiten
"""

from .meetings_styles import BREAKPILOT_STYLES, ICONS


def render_sidebar(active_page: str = "dashboard") -> str:
    """Render the meetings sidebar navigation"""
    nav_items = [
        {"id": "dashboard", "label": "Dashboard", "icon": "home", "href": "/meetings"},
        {"id": "active", "label": "Aktive Meetings", "icon": "video", "href": "/meetings/active"},
        {"id": "schedule", "label": "Termine", "icon": "calendar", "href": "/meetings/schedule"},
        {"id": "trainings", "label": "Schulungen", "icon": "graduation", "href": "/meetings/trainings"},
        {"id": "recordings", "label": "Aufzeichnungen", "icon": "record", "href": "/meetings/recordings"},
        {"id": "breakout", "label": "Breakout-Rooms", "icon": "grid", "href": "/meetings/breakout"},
    ]

    nav_html = ""
    for item in nav_items:
        active_class = "active" if item["id"] == active_page else ""
        nav_html += f'''
        <a href="{item['href']}" class="nav-item {active_class}">
          {ICONS[item['icon']]}
          <span>{item['label']}</span>
        </a>
        '''

    return f'''
    <aside class="sidebar">
      <div class="logo">
        <div class="logo-icon">BP</div>
        <span class="logo-text">BreakPilot Meet</span>
      </div>

      <nav class="nav-section">
        <div class="nav-section-title">Navigation</div>
        {nav_html}
      </nav>

      <nav class="nav-section" style="margin-top: auto;">
        <div class="nav-section-title">Links</div>
        <a href="/studio" class="nav-item">
          {ICONS['external']}
          <span>Zurück zum Studio</span>
        </a>
        <a href="/school" class="nav-item">
          {ICONS['users']}
          <span>Schulverwaltung</span>
        </a>
      </nav>
    </aside>
    '''


def render_base_page(title: str, content: str, active_page: str = "dashboard") -> str:
    """Render the base page template"""
    return f'''
    <!DOCTYPE html>
    <html lang="de">
    <head>
      <meta charset="UTF-8">
      <title>BreakPilot Meet – {title}</title>
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap" rel="stylesheet">
      <style>{BREAKPILOT_STYLES}</style>
    </head>
    <body>
      <div class="app-container">
        {render_sidebar(active_page)}
        <main class="main-content">
          {content}
        </main>
      </div>
    </body>
    </html>
    '''
