{% set range = current_range or 'All' %} {% set status = current_status or 'all' %} {% set tool = selected_tool %} {% set q = current_query or '' %} {# Build a clean query-string preserving the OTHER filters when changing one. #} {% macro link(set_range=None, set_status=None, set_tool='__keep__', set_q=None) -%} {%- set parts = [] -%} {%- set use_range = set_range if set_range is not none else range -%} {%- set use_status = set_status if set_status is not none else status -%} {%- set use_tool = (tool if set_tool == '__keep__' else set_tool) -%} {%- set use_q = set_q if set_q is not none else q -%} {%- if use_range and use_range != 'All' %}{% set _ = parts.append('range=' + use_range) %}{% endif -%} {%- if use_status and use_status != 'all' %}{% set _ = parts.append('status=' + use_status) %}{% endif -%} {%- if use_tool %}{% set _ = parts.append('tool=' + (use_tool | urlencode)) %}{% endif -%} {%- if use_q %}{% set _ = parts.append('q=' + (use_q | urlencode)) %}{% endif -%} /{% if parts %}?{{ parts | join('&') }}{% endif %} {%- endmacro %}