From d45070eb74c57e6365dffb46f3e08526f9855166 Mon Sep 17 00:00:00 2001
From: Gregoo <versatile.mailbox@gmail.com>
Date: Mon, 3 Feb 2025 17:10:13 +0100
Subject: [PATCH] Display metadata filters only if they have values

---
 templates/sets.html | 56 ++++++++++++++++++++++++---------------------
 1 file changed, 30 insertions(+), 26 deletions(-)

diff --git a/templates/sets.html b/templates/sets.html
index dc0a557..943f794 100644
--- a/templates/sets.html
+++ b/templates/sets.html
@@ -79,20 +79,22 @@
         </select>
       </div>
     </div>
-    <div class="col-12 flex-grow-1">
-      <label class="visually-hidden" for="grid-owner">Owner</label>
-      <div class="input-group">
-        <span class="input-group-text"><i class="ri-user-line"></i><span class="ms-1 d-none d-xl-inline"> Owner</span></span>
-        <select id="grid-owner" class="form-select"
-          data-filter="metadata"
-          autocomplete="off">
-          <option value="" selected>All</option>
-          {% for owner in brickset_owners %}
-            <option value="{{ owner.as_dataset() }}">{{ owner.fields.name }}</option>
-          {% endfor %}
-        </select>
+    {% if brickset_owners | length %}
+      <div class="col-12 flex-grow-1">
+        <label class="visually-hidden" for="grid-owner">Owner</label>
+        <div class="input-group">
+          <span class="input-group-text"><i class="ri-user-line"></i><span class="ms-1 d-none d-xl-inline"> Owner</span></span>
+          <select id="grid-owner" class="form-select"
+            data-filter="metadata"
+            autocomplete="off">
+            <option value="" selected>All</option>
+            {% for owner in brickset_owners %}
+              <option value="{{ owner.as_dataset() }}">{{ owner.fields.name }}</option>
+            {% endfor %}
+          </select>
+        </div>
       </div>
-    </div>
+    {% endif %}
     {% if brickset_storages | length %}
       <div class="col-12 flex-grow-1">
         <label class="visually-hidden" for="grid-owner">Storage</label>
@@ -109,20 +111,22 @@
         </div>
       </div>
     {% endif %}
-    <div class="col-12 flex-grow-1">
-      <label class="visually-hidden" for="grid-tag">Tag</label>
-      <div class="input-group">
-        <span class="input-group-text"><i class="ri-price-tag-2-line"></i><span class="ms-1 d-none d-xl-inline"> Tag</span></span>
-        <select id="grid-tag" class="form-select"
-          data-filter="metadata"
-          autocomplete="off">
-          <option value="" selected>All</option>
-          {% for tag in brickset_tags %}
-            <option value="{{ tag.as_dataset() }}">{{ tag.fields.name }}</option>
-          {% endfor %}
-        </select>
+    {% if brickset_tags | length %}
+      <div class="col-12 flex-grow-1">
+        <label class="visually-hidden" for="grid-tag">Tag</label>
+        <div class="input-group">
+          <span class="input-group-text"><i class="ri-price-tag-2-line"></i><span class="ms-1 d-none d-xl-inline"> Tag</span></span>
+          <select id="grid-tag" class="form-select"
+            data-filter="metadata"
+            autocomplete="off">
+            <option value="" selected>All</option>
+            {% for tag in brickset_tags %}
+              <option value="{{ tag.as_dataset() }}">{{ tag.fields.name }}</option>
+            {% endfor %}
+          </select>
+        </div>
       </div>
-    </div>
+    {% endif %}
   </div>
   <div class="row" data-grid="true" id="grid">
   {% for item in collection %}