{%- import "partials/_ui.html" as ui -%}
{% if versions.is_empty() %} {% call ui::empty_state("", "No versions uploaded yet. Create your first version below.") %}{% endcall %} {% else %} {% for version in versions %} {% endfor %}
Version Label File Size Downloads Actions
v{{ version.number }} {% if let Some(label) = version.label %}{{ label }}{% endif %} {% if version.has_file %}{% match version.file_name %}{% when Some with (name) %}{{ name }}{% when None %}1 file{% endmatch %}{% else %}No file{% endif %} {{ version.size }} {{ version.downloads }} {% if version.has_file %} {% else %} {% endif %} {{ crate::quasi::version_delete_act::html(item.id.to_string().as_str(), version.id.to_string().as_str())|safe }}
{% endif %}
Add one file per platform. Each gets its own label (e.g. "macOS (arm)", "Linux (x86_64)").
File Label
{#- What the queue takes and how many of them is described, not written out here: `crate::quasi::upload_field::version_queue`. It carries no destination on purpose, because nothing is sent until Upload All names the version. -#}
{{ crate::quasi::upload_field::version_queue()|safe }}
{#- One described field per version that has no file yet. Each carries its own address, so picking a file uploads it to that version and nothing has to remember which button was pressed. -#} {% for version in versions %}{% if !version.has_file %} {% endif %}{% endfor %}