2025-07-06 19:17:27 +01:00

103 lines
4.9 KiB
HTML

<form class="fade-me-in">
<div id="target-row" class="row">
<div class="col-md-12 sc-config-header">
<div class="sc-line sc-line-left"></div>
<h6 class="sc-category-title">{{ config_data.category.name }}</h6>
<div class="sc-line sc-line-right"></div>
{% if config_data.category.max_quantity is not none %}
<span class="sc-max-quantity">
Max Quantity: {{ config_data.category.max_quantity }}
</span>
{% endif %}
</div>
<div class="col-md-12 row">
<img
src="{{ config_data.category.category_img }}"
alt="{{ config_data.category.name }}"
class="col-md-2"
style="height: 60px"
/>
<div class="col-md-10" style="max-height: 550px; overflow-y: auto">
<!-- Handle configurations -->
{% if config_data.category.sub_category %}
<!-- Case 1: Category has subcategories -->
{% for sub_category in config_data.category.sub_category %} {% set
outer_index = loop.index0 %}
<h6 style="font-weight: bold" class="sc-subcategory-title">
{{ sub_category.name }}
</h6>
<ul class="config-list" style="list-style: none">
{% for item in sub_category.config %}
<li>
<input type="{{ config_data.category.config_choice_type }}" name="{%
if config_data.category.config_choice_type == 'radio' %}config-{{
config_data.category.name }}{% else %}config-{{ loop.index0 }}-{{
outer_index }}-{{ sub_category.name }}{% endif %}" value="{{ item
}}" id="{{ config_data.category.name }}_{{ item }}"
hx-post="/save_config_selection" hx-trigger="change" hx-vals='{% if
config_data.category.config_choice_type == "radio"
%}{"product_name": "{{product.product_name}}", "category":
"{{config_data.category.name}}", "max_quantity":
"{{config_data.category.max_quantity}}", "config_choice_type":
"{{config_data.category.config_choice_type}}"}{% else
%}{"product_name": "{{product.product_name}}", "category":
"{{config_data.category.name}}", "sub_category":
"{{sub_category.name}}", "max_quantity":
"{{config_data.category.max_quantity}}", "config_choice_type":
"{{config_data.category.config_choice_type}}"}{% endif %}' {% if
config_data.category.config_choice_type == 'radio' and
saved_selections.get(config_data.category.name, {}).get('selection')
== item %}checked{% elif config_data.category.config_choice_type !=
'radio' and item in (saved_selections.get(config_data.category.name,
{}).get('subcategories', {}).get(sub_category.name, [])) %}checked{%
endif %} />
<label
class="d-inline"
for="{{ config_data.category.name }}_{{ item }}"
>{{ item }}</label
>
</li>
{% endfor %}
</ul>
{% endfor %} {% else %}
<!-- Case 2: Category has no subcategories -->
<ul class="config-list" style="list-style: none">
{% for item in config_data.category.config %}
<li>
<input type="{{ config_data.category.config_choice_type }}" name="{%
if config_data.category.config_choice_type == 'radio' %}config-{{
config_data.category.name }}{% else %}config-{{ loop.index0 }}-{{
config_data.category.name }}{% endif %}" value="{{ item }}" id="{{
config_data.category.name }}_{{ item }}"
hx-post="/save_config_selection" hx-trigger="change" hx-vals='{% if
config_data.category.config_choice_type == "radio"
%}{"product_name": "{{product.product_name}}", "category":
"{{config_data.category.name}}", "max_quantity":
"{{config_data.category.max_quantity}}", "config_choice_type":
"{{config_data.category.config_choice_type}}"}{% else
%}{"product_name": "{{product.product_name}}", "category":
"{{config_data.category.name}}", "max_quantity":
"{{config_data.category.max_quantity}}", "config_choice_type":
"{{config_data.category.config_choice_type}}"}{% endif %}' {% if
config_data.category.config_choice_type == 'radio' and
saved_selections.get(config_data.category.name, {}).get('selection')
== item %}checked{% elif config_data.category.config_choice_type !=
'radio' and item in (saved_selections.get(config_data.category.name,
{}).get('subcategories', {}).get(config_data.category.name, []))
%}checked{% endif %} />
<label
class="d-inline"
for="{{ config_data.category.name }}_{{ item }}"
>{{ item }}</label
>
</li>
{% endfor %}
</ul>
{% endif %}
</div>
</div>
</div>
</form>