""" Help Center view routes. Renders a user-facing, SEO-optimised Help Center page at ``/help``. The page is designed for SaaS end-users and includes guidance on features, integrations, workflows, and optional Zammad support widgets (live-chat and feedback form). The developer-oriented MkDocs documentation is served separately at ``/docs`` and is intentionally **not** cross-linked from this page. """ import logging import pathlib from fastapi import Request from app.config import settings from app.views.base import APIRouter, templates logger = logging.getLogger(__name__) router = APIRouter() # Path to the built MkDocs documentation (kept for reference / backwards compat) _DOCS_BUILD_DIR = pathlib.Path(__file__).parents[2] / "docs_build" @router.get("/help", include_in_schema=False) async def help_center(request: Request): """Render the end-user Help Center page.""" # Extract user context for Zammad widget pre-fill ---------------------- session_user = None if hasattr(request, "session"): session_user = request.session.get("user") user_name = "" user_email = "" user_id = "" if session_user and isinstance(session_user, dict): user_name = session_user.get("name") or session_user.get("display_name") or "" user_email = session_user.get("email") or "" user_id = session_user.get("preferred_username") or session_user.get("email") or session_user.get("id") or "" return templates.TemplateResponse( "help.html", { "request": request, "external_hostname": settings.external_hostname, "zammad_url": settings.zammad_url, "zammad_chat_enabled": settings.zammad_chat_enabled, "zammad_chat_id": settings.zammad_chat_id, "zammad_form_enabled": settings.zammad_form_enabled, "support_email": settings.support_email, "user_name": user_name, "user_email": user_email, "user_id": user_id, }, )