"""
模板过滤器注册模块

负责注册 Jinja2 模板过滤器和上下文处理器，包括：
- now: 当前时间（供所有模板使用）
- localdatetime: 时区转换过滤器
"""
from datetime import datetime
from flask import current_app
from src.utils.datetime import local_datetime_filter


def register_template_filters(app):
    """
    注册模板过滤器和上下文处理器
    
    Args:
        app: Flask 应用实例
    """
    
    # 注册上下文处理器：注入所有模板都需要的公共变量
    @app.context_processor
    def inject_template_globals():
        """Inject common template variables."""
        return {
            'now': datetime.now(),
            'html_title': current_app.config.get('HTML_TITLE', '智能（会议）文秘'),
        }
    # 注册时区转换过滤器
    @app.template_filter('localdatetime')
    def local_datetime_filter_wrapper(dt):
        """
        将 UTC 时间转换为本地时区时间
        
        用法：{{ record.created_at|localdatetime }}
        """
        return local_datetime_filter(dt)
