{% extends "base.html" %} {% block title %}{{ _("Products") }}{% endblock %} {% block content %}

inventory_2 {{ _("Products") }}

{% if last_product_sync %} {{ _("last synced") }} {{ _("(sync now)") }} {% endif %}
{% trans count=products|length %}{{ count }} product{% pluralize %}{{ count }} products{% endtrans %}
{# Filters bar #}
search
{% if products %}
{% for p in products %} {# Product: icon + name #} {# Type badge #} {# Status badge: green=confirm, orange=declined #} {# Version #} {# Rating #} {# PS Compatibility #} {# Price #} {# Open Tickets #} {# Support Load 30d #} {# Guides #} {# Module ZIP upload #} {# Module Slug (inline edit — hidden for bundles) #} {# Product Reference (inline edit — all product types including bundles) #} {# Last Update #} {# Actions #} {% endfor %}
{{ _("Product") }} {{ _("Status") }} {{ _("Price") }} {{ _("Module ZIP") }} {{ _("Slug") }}
{% if p.product_type == 'business_care' %}
BC
{% elif p.pico_url %} {% else %}
extension
{% endif %}
{{ p.name }} {% if p.is_online == false %} {{ _("offline") }} {% endif %}
{% if p.status %} {% if p.status == 'confirm' %} {{ _("Active") }} {% elif p.status == 'declined' %} {{ _("Declined") }} {% else %} {{ p.status }} {% endif %} {% else %} -- {% endif %} {{ p.display_price or p.price or '--' }}
{% set rel = p.releases[0] if p.releases else None %} {% if rel %}
v{{ rel.version or '?' }} {% set rel_filename = rel.original_filename %} download {% if has_feature('module_upload') %} {% else %} {% endif %}
{% else %} {% if has_feature('module_upload') %} {% else %} {% endif %} {% endif %}
{% if p.product_type == 'bundle' %} -- {% else %}
{% endif %}
{% else %}
inventory_2

{{ _("No products synced yet.") }}

{{ _("Products are synced automatically when you run a sync.") }}

{% endif %}
{# ── Guide Candidates Panel ── #}

{{ _("Guide Candidates") }}

{{ _("beta") }}
{# ── Module Knowledge Panel ── #}

{{ _("Module Knowledge") }}

{# ── Module Upload Modal ── #} {% endblock %}