fix(catalog): render parameter toggles as labeled pills
This commit is contained in:
@@ -454,17 +454,29 @@ function decrementSelected(group: ProductGroup) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-3 flex flex-wrap gap-2">
|
<div class="mt-3 flex flex-wrap gap-2">
|
||||||
<input
|
<label
|
||||||
v-for="option in getAllFieldOptions(group, field.key)"
|
v-for="option in getAllFieldOptions(group, field.key)"
|
||||||
:key="`${group.key}-${field.key}-${option}`"
|
:key="`${group.key}-${field.key}-${option}`"
|
||||||
class="btn btn-sm rounded-full border-base-300 bg-base-100 text-sm normal-case checked:btn-neutral"
|
class="btn btn-sm rounded-full border text-sm normal-case shadow-none transition"
|
||||||
|
:class="[
|
||||||
|
getGroupState(group)[field.key] === option
|
||||||
|
? 'border-neutral bg-neutral text-neutral-content'
|
||||||
|
: 'border-base-300 bg-base-100 text-base-content hover:border-neutral/30 hover:bg-base-200',
|
||||||
|
!isOptionAvailable(group, field.key, option)
|
||||||
|
? 'pointer-events-none opacity-35'
|
||||||
|
: 'cursor-pointer',
|
||||||
|
]"
|
||||||
|
>
|
||||||
|
<input
|
||||||
type="radio"
|
type="radio"
|
||||||
|
class="sr-only"
|
||||||
:name="`${group.key}-${field.key}`"
|
:name="`${group.key}-${field.key}`"
|
||||||
:aria-label="formatOptionLabel(field.key, option)"
|
|
||||||
:checked="getGroupState(group)[field.key] === option"
|
:checked="getGroupState(group)[field.key] === option"
|
||||||
:disabled="!isOptionAvailable(group, field.key, option)"
|
:disabled="!isOptionAvailable(group, field.key, option)"
|
||||||
@change="updateField(group, field.key, option)"
|
@change="updateField(group, field.key, option)"
|
||||||
>
|
>
|
||||||
|
<span>{{ formatOptionLabel(field.key, option) }}</span>
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user