{% extends "layouts/app.twig" %} {% block nav_controls %}
{% for genre in filters.genres %} {% endfor %} {% for director in filters.directors %} {% endfor %} {% for source in filters.sources %} {% endfor %}
{% for mode in view_modes %} {% if mode == 'grid' %} {% endif %} {% if mode == 'list' %} {% endif %} {% if mode == 'covers' %} {% endif %} {% endfor %}
{% for key, label in sort_options %} {{ label }} {% if sort == key %} {% endif %} {% endfor %}
{% endblock %} {% block sidebar %}

Filters

{% if available_filters.genres %}
{% endif %} {% if available_filters.directors %}
{% endif %} {% if available_filters.sources %}
{% endif %}
Clear All
{% if filters.genres or filters.directors or filters.sources or search %}

Active Filters

{% if search %}
Search: "{{ search }}"
{% endif %} {% for genre in filters.genres %}
Genre: {{ genre }}
{% endfor %} {% for director in filters.directors %}
Director: {{ director }}
{% endfor %} {% for source in filters.sources %}
Source: {{ source }}
{% endfor %}
{% endif %}

Quick Stats

Total Videos {{ pagination.total_items }}
This Page {{ movies|length }}
{% if pagination.total_pages > 1 %}
Page {{ pagination.current_page }} of {{ pagination.total_pages }}
{% endif %}
{% endblock %} {% block content %}

Adult Videos

{% if pagination.total_items > 0 %}
{{ pagination.total_items }} videos {% if search %} matching "{{ search }}" {% endif %} {% if filters.genres or filters.directors or filters.sources %} {% if filters.genres %} {{ filters.genres|join(', ') }} {% endif %} {% if filters.directors %} {{ filters.directors|join(', ') }} {% endif %} {% if filters.sources %} {{ filters.sources|join(', ') }} {% endif %} {% endif %}
{% endif %}
{% if error %}
{{ error }}
{% endif %}
Sorted by: {{ sort_options[sort] }}
{% if error %}
{{ error }}
{% endif %}
Sorted by: {{ sort_options[sort] }}
{% if movies is empty %}

{% if search or filters.genres or filters.directors or filters.sources %} No adult videos found matching your criteria {% else %} No adult videos found {% endif %}

{% if search or filters.genres or filters.directors or filters.sources %} Try adjusting your search terms or filters. {% else %} Adult videos will appear here after syncing with XBVR or Stash sources. {% endif %}

{% if search or filters.genres or filters.directors or filters.sources %} Clear filters {% endif %}
{% else %} {% if view_mode == 'list' %}
{% elseif view_mode == 'covers' %}
{% for movie in movies %}
{% if movie.poster_url %}
{{ movie.title }}
{% if movie.rating %}
{{ movie.rating }}
{% endif %} {% if movie.watched %}
Watched
{% endif %}
{% else %}
{% endif %}
{{ movie.title }}
{% if movie.release_date %}

{{ movie.release_date|date('Y') }}

{% endif %} {% if movie.genre %}
{% for genre in movie.genre|split(',')|slice(0, 2) %} {{ genre|trim }} {% endfor %}
{% endif %}
{% endfor %}
{% else %}
{% for movie in movies %}
{% if movie.poster_url %} {{ movie.title }} {% else %}
{% endif %}
{{ movie.title }}
{% if movie.release_date %} {{ movie.release_date|date('Y') }} {% endif %} {% if movie.rating %} ⭐ {{ movie.rating }}/10 {% endif %}
{% if movie.source_name %}

{{ movie.source_name }}

{% endif %}
{% if movie.overview %}

{{ movie.overview|slice(0, 150) }}{% if movie.overview|length > 150 %}...{% endif %}

{% endif %}
{% if movie.runtime_minutes %} {{ (movie.runtime_minutes / 60)|round(1) }}h {{ movie.runtime_minutes % 60 }}m {% endif %}
{% if movie.watched %} Watched {% endif %} {% if movie.is_favorite %} Favorite {% endif %}
{% endfor %}
{% endif %} {% if pagination.total_pages > 1 %}
Showing {{ (pagination.current_page - 1) * pagination.per_page + 1 }} to {{ min(pagination.current_page * pagination.per_page, pagination.total_items) }} of {{ pagination.total_items }} videos
per page
{% if pagination.has_prev %} Previous {% else %} Previous {% endif %} {% set start_page = max(1, pagination.current_page - 2) %} {% set end_page = min(pagination.total_pages, pagination.current_page + 2) %} {% if start_page > 1 %} 1 {% if start_page > 2 %} ... {% endif %} {% endif %} {% for page_num in start_page..end_page %} {% if page_num == pagination.current_page %} {{ page_num }} {% else %} {{ page_num }} {% endif %} {% endfor %} {% if end_page < pagination.total_pages %} {% if end_page < pagination.total_pages - 1 %} ... {% endif %} {{ pagination.total_pages }} {% endif %} {% if pagination.has_next %} Next {% else %} Next {% endif %}
{% endif %} {% endif %}
{% endblock %}