{# The layout is chosen by the route: the theme's public shell when the product ships one, the product's own base template otherwise. The page borrows the shell's shared vocabulary rather than a look of its own: the hero slot, .container and .btn. The hero also carries the store-hero classes, so a storefront skin that styles them (skin_store) dresses this page like the rest of its pages, and a product without that skin simply gets the theme's hero. Nothing here needs either feature to be installed. Colours come from the theme's brand tokens, each with a neutral fallback for a product that has none. #} {% extends layout %} {% block title %}{{ spl.name }}{% endblock %} {# The heading, its description and the way on to the configurator. In the shell's hero it wears the hero classes; inside a plain base template it wears only its own, so no hero colour lands on an ordinary background. #} {% macro intro(hero) -%}

{{ spl.name }}

{% if spl.description %}

{{ spl.description }}

{% endif %} {% if configure_url %}

{{ _("Configure this line") }}

{% endif %} {%- endmacro %} {% block head %} {% endblock %} {% block hero %} {% if public_shell %}
{{ intro(true) }}
{% endif %} {% endblock %} {% block content %}
{% if not public_shell %}
{{ intro(false) }}
{% endif %}
{{ _("Maintained by") }}
{{ owner or _("The marketplace") }}
{{ _("Latest version") }}
{% if spl.latest_version %}{{ spl.latest_version }}{% else %}{{ _("Not published yet") }}{% endif %}
{{ _("State") }}
{{ labels.get(spl.state, spl.state) }}
{% if spl.latest_doi %}
{{ _("Model") }}
{{ spl.latest_doi }} {% if spl.latest_file %}{{ spl.latest_file }} {{ _("on") }} {{ spl.uvl_mirror }}{% endif %}
{% endif %}

{{ _("Releases") }}

{% if releases %}
{% for release in releases %} {% endfor %}
{{ _("Version") }} {{ _("DOI") }} {{ _("Date") }} {{ _("Published by") }} {{ _("State") }} {{ _("Content") }}
{{ release.version }} {% if release.doi %} {{ release.doi }} {% else %} {{ _("No DOI") }} {% endif %} {{ (release.completed_at or release.created_at).strftime('%Y-%m-%d %H:%M') }} {{ publishers.get(release.id) or _("The marketplace") }} {% if release.state == 'published' %} {{ labels.get(release.state, release.state) }} {% elif release.state == 'unknown' %} {{ labels.get(release.state, release.state) }} {% elif release.state == 'failed' %} {{ labels.get(release.state, release.state) }} {% else %} {{ labels.get(release.state, release.state) }} {% endif %} {% if release.verification == 'match' %} {{ labels.get(release.verification) }} {% elif release.verification == 'mismatch' %} {{ labels.get(release.verification) }} {% else %} {{ labels.get(release.verification, release.verification) }} {% endif %} {% if release.state == 'unknown' %}

{{ _("This publication never reported back. Whether a DOI was minted for it is not known.") }}

{% endif %}
{% else %}

{{ _("This product line has no releases yet.") }}

{% endif %}
{% endblock %}