the admin page now make sense for products
Some checks failed
CI / Check Style (push) Has been cancelled
CI / Run Clippy (push) Has been cancelled
CI / Run Tests (push) Has been cancelled

This commit is contained in:
Priec
2026-06-22 16:21:52 +02:00
parent 3a1ea7cdb4
commit 6828854f24
2 changed files with 27 additions and 25 deletions

File diff suppressed because one or more lines are too long

View File

@@ -53,34 +53,36 @@
</div> </div>
<template x-for="(row, i) in rows" :key="i"> <template x-for="(row, i) in rows" :key="i">
<div class="grid gap-3 rounded-radius border border-outline bg-surface-alt/40 p-3 sm:grid-cols-12 dark:border-outline-dark dark:bg-surface-dark-alt/30"> <div class="flex items-end gap-3 rounded-radius border border-outline bg-surface-alt/40 p-3 dark:border-outline-dark dark:bg-surface-dark-alt/30">
<input type="hidden" :name="`variants[${i}][id]`" :value="row.id"> <input type="hidden" :name="`variants[${i}][id]`" :value="row.id">
<div class="space-y-1 sm:col-span-5"> {# items-end bottom-aligns every input regardless of how many lines each
<label class="{{ sublabel }}">{{ t(key="option-label", lang=lang | default(value='sk')) }}{{ opt }}</label> label takes, so the row stays aligned even with the "(optional)" notes. #}
<input :name="`variants[${i}][label]`" x-model="row.label" class="{{ inp }}" placeholder="napr. 10cm x 13cm"> <div class="grid flex-1 grid-cols-2 gap-3 sm:grid-cols-12 sm:items-end">
</div> <div class="space-y-1 col-span-2 sm:col-span-4">
<div class="space-y-1 sm:col-span-3"> <label class="{{ sublabel }} block truncate">{{ t(key="option-label", lang=lang | default(value='sk')) }}{{ opt }}</label>
<label class="{{ sublabel }}">{{ t(key="sku", lang=lang | default(value='sk')) }}{{ opt }}</label> <input :name="`variants[${i}][label]`" x-model="row.label" class="{{ inp }}" placeholder="napr. 10cm x 13cm">
<input :name="`variants[${i}][sku]`" x-model="row.sku" class="{{ inp }}"> </div>
</div> <div class="space-y-1 sm:col-span-2">
<div class="space-y-1 sm:col-span-2"> <label class="{{ sublabel }} block truncate">{{ t(key="sku", lang=lang | default(value='sk')) }}{{ opt }}</label>
<label class="{{ sublabel }}">{{ t(key="stock", lang=lang | default(value='sk')) }}</label> <input :name="`variants[${i}][sku]`" x-model="row.sku" class="{{ inp }}">
<input type="number" min="0" required :name="`variants[${i}][stock]`" x-model="row.stock" class="{{ inp }}"> </div>
</div> <div class="space-y-1 sm:col-span-2">
<div class="flex items-end sm:col-span-2"> <label class="{{ sublabel }} block truncate">{{ t(key="stock", lang=lang | default(value='sk')) }}</label>
<button type="button" @click="remove(i)" <input type="number" min="0" required :name="`variants[${i}][stock]`" x-model="row.stock" class="{{ inp }}">
class="ml-auto rounded-radius px-2 py-2 text-sm text-danger hover:bg-danger/10" title="{{ t(key='delete', lang=lang | default(value='sk')) }}"></button> </div>
<div class="space-y-1 sm:col-span-2">
<label class="{{ sublabel }} block truncate">{{ t(key="price", lang=lang | default(value='sk')) }}</label>
<input :name="`variants[${i}][price]`" x-model="row.price" inputmode="decimal" required class="{{ inp }}" placeholder="0.00">
</div>
<div class="space-y-1 sm:col-span-2">
<label class="{{ sublabel }} block truncate">{{ t(key="business-price", lang=lang | default(value='sk')) }}{{ opt }}</label>
<input :name="`variants[${i}][business_sale]`" x-model="row.business_sale" inputmode="decimal" class="{{ inp }}" placeholder="—">
</div>
</div> </div>
<div class="space-y-1 sm:col-span-6"> <button type="button" @click="remove(i)"
<label class="{{ sublabel }}">{{ t(key="price", lang=lang | default(value='sk')) }}</label> class="mb-1 shrink-0 rounded-radius px-2 py-2 text-sm text-danger hover:bg-danger/10" title="{{ t(key='delete', lang=lang | default(value='sk')) }}"></button>
<input :name="`variants[${i}][price]`" x-model="row.price" inputmode="decimal" required class="{{ inp }}" placeholder="0.00">
</div>
<div class="space-y-1 sm:col-span-6">
<label class="{{ sublabel }}">{{ t(key="business-price", lang=lang | default(value='sk')) }}{{ opt }}</label>
<input :name="`variants[${i}][business_sale]`" x-model="row.business_sale" inputmode="decimal" class="{{ inp }}" placeholder="—">
</div>
</div> </div>
</template> </template>
</div> </div>