{% comment %} Search and filters for the speaker directory, rendered by HTMxTableView via htmx_table_header_template. Stacked rather than laid out in a row: the search box gets a full-width line of its own, and everything else is a dropdown under it. That is the same at every width -- a dropdown is a fixed-size button no matter how many options are behind it, so nothing here has to be rearranged for a phone. The form filters as you type, so there is no apply button. {% endcomment %}
{{ filter.form.query }}
{% comment %}Topics: the same shape as the Filters menu beside it, but radios -- a speaker can hold several topics, filtering by two at once would almost always find nobody.{% endcomment %} {% comment %}htmx sits on the menu, not on each of the ~25 radios: change events bubble, so one set of attributes does the job. Keep them in step with speaker_filter_attrs() in filters.py.{% endcomment %} {% include "auctions/partials/htmx_table_filters.html" %} {% comment %}Where distances are measured from. There is no picker for it: the origin follows the club whose page you came from, or your own location. The list is newest first, so the "sort by the Location column" hint is the only place that says distance is still an option.{% endcomment %} {% if has_origin %} Newest first. Distances from {{ origin_label }} — sort by the Location column for the closest.{% if origin_change_url %} Change{% endif %} {% elif origin_club %} {{ origin_club.name }} has no address set, so distances are unavailable. {% if origin_change_url %}Set the club address{% endif %} {% else %} Set your location to sort speakers by distance. Set your location {% endif %}