{% extends "layouts/app.twig" %} {% block nav_controls %}
{% for genre in filters.genres %} {% endfor %} {% for platform in filters.platforms %} {% endfor %} {% for feature in filters.features %} {% endfor %} {% if filters.playtime %} {% endif %}
{% for mode in view_modes %} {% if mode == 'grid' %} {% endif %} {% if mode == 'list' %} {% endif %} {% if mode == 'covers' %} {% endif %} {% endfor %}
{% if available_filters.genres %}
{% for platform in filters.platforms %} {% endfor %} {% for feature in filters.features %} {% endfor %} {% if filters.playtime %} {% endif %}
{% for genre in available_filters.genres %} {% endfor %}
{% endif %} {% if available_filters.features %}
{% for genre in filters.genres %} {% endfor %} {% for platform in filters.platforms %} {% endfor %} {% if filters.playtime %} {% endif %}
{% for feature in available_filters.features %} {% endfor %}
{% endif %}
{% for key, label in sort_options %} {{ label }} {% if sort == key %} {% endif %} {% endfor %}
{% endblock %} {% block sidebar %}

Filters

{% if available_filters.genres %}
{% endif %} {% if available_filters.platforms %}
{% endif %} {% if available_filters.features %}
{% endif %}
Clear All
{% if filters.genres or filters.platforms or filters.features or filters.playtime or search %}

Active Filters

{% if search %}
Search: "{{ search }}"
{% endif %} {% for genre in filters.genres %}
Genre: {{ genre }}
{% endfor %} {% for platform in filters.platforms %}
Platform: {{ platform }}
{% endfor %} {% for feature in filters.features %}
Feature: {{ feature }}
{% endfor %} {% if filters.playtime %}
Playtime: {% if filters.playtime == 'none' %}No playtime{% elseif filters.playtime == 'under_1h' %}Under 1 hour{% elseif filters.playtime == '1h_5h' %}1-5 hours{% elseif filters.playtime == '5h_10h' %}5-10 hours{% elseif filters.playtime == '10h_20h' %}10-20 hours{% elseif filters.playtime == 'over_20h' %}Over 20 hours{% endif %}
{% endif %}
{% endif %}

Quick Stats

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

Games

{% if pagination.total_items > 0 %}
{{ pagination.total_items }} games from {{ games|reduce((carry, game) => carry + game.platform_count, 0) }} platforms {% if search %} matching "{{ search }}" {% endif %} {% if filters.genres or filters.platforms or filters.features or filters.playtime %} {% if filters.genres %} {{ filters.genres|join(', ') }} {% endif %} {% if filters.platforms %} {{ filters.platforms|join(', ') }} {% endif %} {% if filters.features %} {{ filters.features|join(', ') }} {% endif %} {% if filters.playtime %} {% if filters.playtime == 'none' %}No playtime{% elseif filters.playtime == 'under_1h' %}Under 1h{% elseif filters.playtime == '1h_5h' %}1-5h{% elseif filters.playtime == '5h_10h' %}5-10h{% elseif filters.playtime == '10h_20h' %}10-20h{% elseif filters.playtime == 'over_20h' %}20h+{% endif %} {% endif %} {% endif %}
{% endif %}
{% if games is empty %}

{% if search or filters.genres or filters.platforms or filters.features or filters.playtime %} No games found matching your criteria {% else %} No games found {% endif %}

{% if search or filters.genres or filters.platforms or filters.features or filters.playtime %} Try adjusting your search terms or filters. {% else %} Start syncing your gaming libraries to see your games here. {% endif %}

{% if search or filters.genres or filters.platforms or filters.features or filters.playtime %} Clear filters {% endif %}
{% else %} {% if view_mode == 'list' %}
{% elseif view_mode == 'covers' %}
{% for game in games %}
{% if game.image_url %}
{{ game.title }}
{% else %}
{% endif %}
{{ game.title }}

{{ game.platform_count }} platform{{ game.platform_count > 1 ? 's' : '' }}

{% endfor %}
{% else %}
{% for game in games %}
{% if game.image_url %} {{ game.title }} {% else %}
{% endif %}
{{ game.title }}

{{ game.platform_count }} platform{{ game.platform_count > 1 ? 's' : '' }} {% if game.platforms %} {{ game.platforms|join(', ') }} {% endif %}

{{ game.total_playtime|format_duration }} played {% if game.max_completion > 0 %} {{ game.max_completion }}% complete {% endif %}
{% if game.genres %}
{% for genre in game.genres|slice(0, 3) %} {{ genre }} {% endfor %}
{% 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 }} games
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 %}