actor fetching :)

Stash / ADultVideoAPI
This commit is contained in:
Lars Behrends
2025-11-06 12:07:12 +01:00
parent 1ec6016b10
commit 3f56625205
7 changed files with 1048 additions and 58 deletions

View File

@@ -11,13 +11,13 @@
<div class="text-center text-white">
<h1 class="text-3xl md:text-5xl font-bold mb-2">Actors & Performers</h1>
<p class="text-lg md:text-xl opacity-90 mb-4">{{ pagination.total_items }} performer{{ pagination.total_items != 1 ? 's' : '' }}</p>
{{dump(pagination)}}
<!-- Pagination in Hero -->
{% if pagination.total_pages > 0 %}
{% if pagination.total_pages > 1 %}
<div class="flex items-center justify-center space-x-2">
<!-- Previous Button -->
{% if pagination.has_prev %}
<a href="{{ path_for('actors.index') }}?{% for key, value in app.request.query %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}{% if app.request.query|length > 0 %}&{% endif %}page={{ pagination.prev_page }}"
<a href="{{ path_for('actors.index', {}, {'page': pagination.prev_page, 'search': search, 'sort': sort, 'has_movies': filters.has_movies, 'has_tv_shows': filters.has_tv_shows, 'has_adult_videos': filters.has_adult_videos}) }}"
class="px-3 py-2 text-sm font-medium text-white bg-white/20 backdrop-blur-sm border border-white/30 rounded-lg hover:bg-white/30 transition-colors flex items-center">
<svg class="w-4 h-4 mr-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"/>
@@ -40,7 +40,7 @@
<!-- Next Button -->
{% if pagination.has_next %}
<a href="{{ path_for('actors.index') }}?{% for key, value in app.request.query %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}{% if app.request.query|length > 0 %}&{% endif %}page={{ pagination.next_page }}"
<a href="{{ path_for('actors.index', {}, {'page': pagination.next_page, 'search': search, 'sort': sort, 'has_movies': filters.has_movies, 'has_tv_shows': filters.has_tv_shows, 'has_adult_videos': filters.has_adult_videos}) }}"
class="px-3 py-2 text-sm font-medium text-white bg-white/20 backdrop-blur-sm border border-white/30 rounded-lg hover:bg-white/30 transition-colors flex items-center">
Next
<svg class="w-4 h-4 ml-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
@@ -265,7 +265,7 @@
<div class="flex items-center space-x-2">
<!-- Previous Button -->
{% if pagination.has_prev %}
<a href="{{ path_for('actors.index') }}?{% for key, value in app.request.query %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}{% if app.request.query|length > 0 %}&{% endif %}page={{ pagination.prev_page }}"
<a href="{{ path_for('actors.index', {}, {'page': pagination.prev_page, 'search': search, 'sort': sort, 'has_movies': filters.has_movies, 'has_tv_shows': filters.has_tv_shows, 'has_adult_videos': filters.has_adult_videos}) }}"
class="px-3 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 hover:text-gray-700 transition-colors flex items-center">
<svg class="w-4 h-4 mr-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"/>
@@ -286,7 +286,7 @@
{% set end_page = min(pagination.total_pages, pagination.current_page + 2) %}
{% if start_page > 1 %}
<a href="{{ path_for('actors.index') }}?{% for key, value in app.request.query %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}{% if app.request.query|length > 0 %}&{% endif %}page=1"
<a href="{{ path_for('actors.index', {}, {'page': 1, 'search': search, 'sort': sort, 'has_movies': filters.has_movies, 'has_tv_shows': filters.has_tv_shows, 'has_adult_videos': filters.has_adult_videos}) }}"
class="px-3 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 hover:text-gray-700 transition-colors">1</a>
{% if start_page > 2 %}
<span class="px-2 py-2 text-sm font-medium text-gray-500">...</span>
@@ -297,7 +297,7 @@
{% if page_num == pagination.current_page %}
<span class="px-3 py-2 text-sm font-medium text-white bg-blue-600 border border-blue-600 rounded-lg">{{ page_num }}</span>
{% else %}
<a href="{{ path_for('actors.index') }}?{% for key, value in app.request.query %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}{% if app.request.query|length > 0 %}&{% endif %}page={{ page_num }}"
<a href="{{ path_for('actors.index', {}, {'page': page_num, 'search': search, 'sort': sort, 'has_movies': filters.has_movies, 'has_tv_shows': filters.has_tv_shows, 'has_adult_videos': filters.has_adult_videos}) }}"
class="px-3 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 hover:text-gray-700 transition-colors">{{ page_num }}</a>
{% endif %}
{% endfor %}
@@ -306,13 +306,13 @@
{% if end_page < pagination.total_pages - 1 %}
<span class="px-2 py-2 text-sm font-medium text-gray-500">...</span>
{% endif %}
<a href="{{ path_for('actors.index') }}?{% for key, value in app.request.query %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}{% if app.request.query|length > 0 %}&{% endif %}page={{ pagination.total_pages }}"
<a href="{{ path_for('actors.index', {}, {'page': pagination.total_pages, 'search': search, 'sort': sort, 'has_movies': filters.has_movies, 'has_tv_shows': filters.has_tv_shows, 'has_adult_videos': filters.has_adult_videos}) }}"
class="px-3 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 hover:text-gray-700 transition-colors">{{ pagination.total_pages }}</a>
{% endif %}
<!-- Next Button -->
{% if pagination.has_next %}
<a href="{{ path_for('actors.index') }}?{% for key, value in app.request.query %}{{ key }}={{ value }}{% if not loop.last %}&{% endif %}{% endfor %}{% if app.request.query|length > 0 %}&{% endif %}page={{ pagination.next_page }}"
<a href="{{ path_for('actors.index', {}, {'page': pagination.next_page, 'search': search, 'sort': sort, 'has_movies': filters.has_movies, 'has_tv_shows': filters.has_tv_shows, 'has_adult_videos': filters.has_adult_videos}) }}"
class="px-3 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 hover:text-gray-700 transition-colors flex items-center">
Next
<svg class="w-4 h-4 ml-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">