{% extends "base.html" %} {% block title %}Products{% endblock %} {% block content %}
| Product | Type | Status | Version | Rating | PS Compat. | Price | Open Tickets | Support 30d | Guides | Slug | Last Update | Actions |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{% if p.product_type == 'business_care' %}
BC
{% elif p.pico_url %}
extension
{% endif %}
{{ p.name }}
{% if p.is_online == false %}
offline
{% endif %}
|
{# Type badge #}
{% if p.product_type %} {{ p.product_type }} {% else %} -- {% endif %} | {# Status badge: green=confirm, orange=declined #}{% if p.status %} {% if p.status == 'confirm' %} {{ p.status }} {% elif p.status == 'declined' %} {{ p.status }} {% else %} {{ p.status }} {% endif %} {% else %} -- {% endif %} | {# Version #}{{ p.current_version or '--' }} | {# Rating #}
{% if p.avg_rating %}
star
{{ p.avg_rating }}
{% if p.total_ratings %}
({{ p.total_ratings }})
{% endif %}
{% else %}
--
{% endif %}
|
{# PS Compatibility #}
{% if p.compatibility_min or p.compatibility_max %} {{ p.compatibility_min or '?' }} – {{ p.compatibility_max or '?' }} {% else %} -- {% endif %} | {# Price #}{{ p.display_price or p.price or '--' }} | {# Open Tickets #}{% if p.open_tickets > 0 %} {{ p.open_tickets }} {% else %} 0 {% endif %} | {# Support Load 30d #}
{% set total_load = p.tickets_30d + p.msgs_30d %}
{% if total_load > 0 %}
{% if total_load >= 10 %}
{% set bg = 'bg-red-50 dark:bg-red-500/10' %}{% set text = 'text-red-700 dark:text-red-400' %}
{% elif total_load >= 5 %}
{% set bg = 'bg-orange-50 dark:bg-orange-500/10' %}{% set text = 'text-orange-700 dark:text-orange-400' %}
{% else %}
{% set bg = 'bg-blue-50 dark:bg-blue-500/10' %}{% set text = 'text-blue-700 dark:text-blue-400' %}
{% endif %}
{{ p.tickets_30d }}t / {{ p.msgs_30d }}m
{% else %}
--
{% endif %}
|
{# Guides #}
{% set gc = guides_count.get(p.id, 0) %} {% if gc > 0 %} {{ gc }} {% else %} 0 {% endif %} | {# Module Slug (inline edit — hidden for bundles) #}
{% if p.product_type == 'bundle' %}
--
{% else %}
|
{# Last Update #}
{% if p.product_type == 'bundle' %}
depends on bundle products
{% elif p.last_update_at %}
{{ p.last_update_at.strftime('%Y-%m-%d') }}
{% if p.days_since_update is not none %}
{% if p.days_since_update <= 30 %}
{{ p.days_since_update }}d
{% elif p.days_since_update <= 60 %}
{{ p.days_since_update }}d
{% else %}
{{ p.days_since_update }}d
{% endif %}
{% endif %}
{% else %}
--
{% endif %}
|
{# Actions #}
open_in_new Addons |
No products synced yet.
Products are synced automatically when you run a sync.