"""
Email Response Templates
Pre-built templates for different email categories
"""

from typing import Dict, Optional


class ResponseTemplates:
    """Collection of email response templates"""

    TEMPLATES = {
        "kurs_info": {
            "subject": "Vielen Dank für dein Interesse an unseren Kursen",
            "body": """Hallo {sender_name},

vielen Dank für dein Interesse an unseren Kursen!

Wir bieten folgende Kurse an:

1. **Auswandern mit 60+ — Strategie & Planung**
   Dein umfassender Guide für Auswanderung im besten Alter

2. **Dating in der digitalen Welt — Apps & KI**
   Moderne Dating-Techniken im Zeitalter von KI

3. **Finanzielle Sicherheit — Passive Income mit KI**
   Aufbau nachhaltiger Einnahmequellen durch Automatisierung

Alle Kurse sind vollständig online und auf agentsolutions.tech verfügbar.

Möchtest du mehr Details zu einem bestimmten Kurs?
Antworte einfach auf diese Email oder besuch unsere Website.

Viele Grüße,
Agent Solutions Team"""
        },

        "thank_you": {
            "subject": "Danke für dein Feedback",
            "body": """Hallo {sender_name},

vielen Dank für dein wertvoles Feedback!

Wir lesen jede Nachricht und nutzen sie zur kontinuierlichen Verbesserung.
Deine Meinung ist uns wichtig und hilft uns, noch besser zu werden.

Falls du Fragen hast, zögere nicht, uns zu kontaktieren.

Beste Grüße,
Agent Solutions Team"""
        },

        "escalation": {
            "subject": "Deine Anfrage wird bearbeitet",
            "body": """Hallo {sender_name},

vielen Dank für deine Anfrage. Deine Nachricht erfordert persönliche Aufmerksamkeit.

Unser Team wird sich in den nächsten 24 Stunden bei dir melden.

Danke für deine Geduld!

Agent Solutions Team"""
        },

        "sales_routing": {
            "subject": "Deine Anfrage an unser Sales-Team",
            "body": """Hallo {sender_name},

danke für dein Interesse!

Deine Anfrage wurde an unser Sales-Team weitergeleitet. Sie werden sich in Kürze mit dir in Verbindung setzen.

Beste Grüße,
Agent Solutions Team"""
        },

        "general_answer": {
            "subject": "RE: {original_subject}",
            "body": """{ai_generated_response}

---
Agent Solutions Team
support@agentsolutions.tech"""
        }
    }

    @staticmethod
    def get_template(category: str) -> Optional[Dict[str, str]]:
        """Get template for category"""
        return ResponseTemplates.TEMPLATES.get(category)

    @staticmethod
    def render_template(category: str, context: Dict[str, str]) -> Optional[Dict[str, str]]:
        """
        Render template with context variables

        Args:
            category: Template category
            context: Dictionary of variables to insert

        Returns:
            Dictionary with rendered 'subject' and 'body'
        """
        template = ResponseTemplates.get_template(category)
        if not template:
            return None

        return {
            'subject': template['subject'].format(**context) if '{' in template['subject'] else template['subject'],
            'body': template['body'].format(**context) if '{' in template['body'] else template['body']
        }

    @staticmethod
    def get_all_templates() -> Dict[str, Dict[str, str]]:
        """Get all available templates"""
        return ResponseTemplates.TEMPLATES.copy()
