import markdown
from django import template
from django.utils.safestring import mark_safe
from stiftung.models import HelpBox

register = template.Library()

@register.inclusion_tag('stiftung/help_box.html')
def help_box(page_key, user=None):
    """Rendere eine Hilfs-Infobox für eine bestimmte Seite"""
    help_obj = HelpBox.get_help_for_page(page_key)
    
    context = {
        'help_obj': help_obj,
        'page_key': page_key,
        'can_edit': user and (user.username == 'root' or user.is_superuser) if user else False
    }
    
    if help_obj:
        # Konvertiere Markdown zu HTML
        md = markdown.Markdown(extensions=['nl2br', 'fenced_code'])
        context['content_html'] = mark_safe(md.convert(help_obj.content))
    
    return context

@register.simple_tag
def help_box_exists(page_key):
    """Prüfe, ob eine Hilfs-Infobox für eine Seite existiert"""
    return HelpBox.get_help_for_page(page_key) is not None
