{# ABOUTME: #198 column-visibility control for the /books table. #} {# Native
disclosure wrapping a GET form of checkboxes. With JS htmx swaps #book-list in place; without JS the form does a normal GET reload. The server reads cols_set + cols, persists the book_columns cookie, and renders the chosen columns either way. Hidden inputs carry the current browse state so toggling columns preserves the user's search / sort / page / filters. #}
Columns
{% for key, value in query.filters.items() %} {% endfor %}
Show columns {% for key, label in toggleable_columns %} {% endfor %}