Changed the "Multiple Copies Available" view and fixed border formatting.

This commit is contained in:
2025-09-27 23:30:13 +02:00
parent 65f23c1f12
commit 7c95583345
2 changed files with 5 additions and 44 deletions

View File

@@ -29,48 +29,9 @@
{% set current_item_id = item.fields.id %}
{% for instance in all_instances %}
<div class="col-md-6 col-xl-4 d-flex align-items-stretch mb-3">
{% with item=instance, index=loop.index0, tiny=false %}
{% with item=instance, index=loop.index0, tiny=false, current_viewing=(instance.fields.id == current_item_id) %}
<div class="position-relative w-100">
{% include 'set/card.html' %}
<!-- Custom label overlay for distinguishing instances -->
{% set instance_name = [] %}
{% if instance.fields.storage %}
{% set _ = instance_name.append(instance.fields.storage) %}
{% endif %}
{% if instance.fields.purchase_location %}
{% set _ = instance_name.append("from " + instance.fields.purchase_location) %}
{% endif %}
{% set instance_tags = [] %}
{% for tag in brickset_tags %}
{% if instance.fields[tag.as_column()] %}
{% set _ = instance_tags.append(tag.fields.name) %}
{% endif %}
{% endfor %}
{% if instance_tags %}
{% set _ = instance_name.append("[" + instance_tags | join(", ") + "]") %}
{% endif %}
{% if instance.fields.purchase_date %}
{% set _ = instance_name.append("(" + instance.purchase_date() + ")") %}
{% endif %}
{% if instance_name %}
<div class="position-absolute top-0 end-0 m-2">
<span class="badge bg-dark bg-opacity-75 text-wrap text-start" style="max-width: 150px;">
{{ instance_name | join(" ") }}
{% if instance.fields.id == current_item_id %}
<br><small class="text-info">Currently Viewing</small>
{% endif %}
</span>
</div>
{% else %}
<div class="position-absolute top-0 end-0 m-2">
<span class="badge bg-secondary">
Copy #{{ loop.index }}
{% if instance.fields.id == current_item_id %}
<br><small class="text-info">Current</small>
{% endif %}
</span>
</div>
{% endif %}
</div>
{% endwith %}
</div>

View File

@@ -3,7 +3,7 @@
{% import 'macro/card.html' as card %}
{% import 'macro/form.html' as form %}
<div {% if not solo %}id="set-{{ item.fields.consolidated_id or item.fields.id }}"{% endif %} class="card mb-3 flex-fill {% if solo %}card-solo{% endif %}"
<div {% if not solo %}id="set-{{ item.fields.consolidated_id or item.fields.id }}"{% endif %} class="card mb-3 flex-fill {% if solo %}card-solo{% endif %}{% if current_viewing %} border-danger{% endif %}"{% if current_viewing %} style="border-width: 3px !important;"{% endif %}
data-set-id="{{ item.fields.consolidated_id or item.fields.id }}" data-rebrickable-id="{{ item.fields.set }}"
{% if item.fields.instance_count is defined %}data-instance-count="{{ item.fields.instance_count }}" data-instance-ids="{{ item.fields.instance_ids }}"{% endif %}
{% if not solo and not tiny %}
@@ -56,7 +56,7 @@
>
{{ card.header(item, item.fields.name, solo=solo, identifier=item.fields.set) }}
{{ card.image(item, solo=solo, last=last, caption=item.fields.name, alt=item.fields.set) }}
<div class="card-body border-bottom-0 {% if not solo %}p-1{% endif %}">
<div class="card-body border-bottom-0 {% if not solo %}p-1{% endif %}"{% if current_viewing %} style="border-color: var(--bs-border-color) !important; border-width: 1px !important;"{% endif %}>
{{ badge.theme(item.theme.name, solo=solo, last=last) }}
{% for tag in brickset_tags %}
{{ badge.tag(item, tag, solo=solo, last=last) }}
@@ -86,14 +86,14 @@
{% endif %}
</div>
{% if not tiny and brickset_statuses | length %}
<ul class="list-group list-group-flush card-check border-bottom-0">
<ul class="list-group list-group-flush card-check border-bottom-0"{% if current_viewing %} style="border-color: var(--bs-border-color) !important; border-width: 1px !important;"{% endif %}>
{% for status in brickset_statuses %}
<li class="d-flex list-group-item {% if not solo %}p-1{% endif %} text-nowrap">{{ form.checkbox(status.fields.name, item.fields.id, status.as_dataset(), status.url_for_set_state(item.fields.id), item.fields[status.as_column()], parent='set', delete=delete) }}</li>
{% endfor %}
</ul>
{% endif %}
{% if solo %}
<div class="accordion accordion-flush border-top" id="set-details">
<div class="accordion accordion-flush border-top" id="set-details"{% if current_viewing %} style="border-color: var(--bs-border-color) !important; border-width: 1px !important;"{% endif %}>
{% if not delete %}
{% if not config['HIDE_SET_INSTRUCTIONS'] %}
{{ accordion.header('Instructions', 'instructions', 'set-details', expanded=open_instructions, quantity=item.instructions | length, icon='file-line', class='p-0') }}