{% extends "base.html" %} {% block title %}{{ _('Calendar') }} — MediaForge{% endblock %} {% block styles %} {# The shared series modal (shared_modals.html) that "Search streams" opens -- same pair of files the Seerr page links for the same reason. #} {% endblock %} {% block content %}
{{ _('Loading calendar...') }}
{# Shared TMDB detail modal — opened when an event is clicked. #} {% include "mf_detail_modal.html" %} {# "Search streams" in the detail modal used to leave the page for /?q=. It now runs the cross-provider search in place and opens the same series modal the search page and the Seerr page use -- one flow for "I want this episode", no matter where you started. MFDetailModal already prefers openAniSearchModal() when it exists (see its searchStreams()); all this page was missing were the two files that define it. #} {% include "shared_modals.html" %} {% endblock %} {% block scripts %} {# app.js first: shared_modals.html's markup calls openSeries()/closeModal() and the search itself by name, exactly as on the Seerr page. #} <script src="{{ url_for('static', filename='app.js') }}"></script> <script src="{{ url_for('static', filename='mf_detail_modal.js') }}"></script> <script src="{{ url_for('static', filename='calendar.js') }}"></script> {% endblock %}