Fix hardware-pricing reveal so it respects the Tailwind grid layout
The wizard's EK / Kundenverkaufspreis fields live inside a <div class="grid grid-cols-2 gap-md"> wrapper. Toggling its inline display:block as the previous code did replaced the grid layout and stacked the two inputs full-width. Switch the wrapper to start with the Tailwind `hidden` utility and toggle `hidden`/`grid` on the classList, so when hardware is filled in the two pricing fields appear side by side. Functionality and the existing commission formula (Provision + Aktionscodes − EK + VK, already covered by the provisionService tests) are unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
ff0d7398db
commit
395fadc83b
2 files changed
+6
-6
No files matched your search
+1
-1
@@ -1208,7 +1208,7 @@
|
|||||||
class="w-full bg-surface-container-lowest border border-outline-variant rounded-lg h-10 px-sm text-body-md text-on-surface focus:border-primary focus:ring-4 focus:ring-primary/20 outline-none">
|
class="w-full bg-surface-container-lowest border border-outline-variant rounded-lg h-10 px-sm text-body-md text-on-surface focus:border-primary focus:ring-4 focus:ring-primary/20 outline-none">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="hardwarePricingFields" style="display:none;" class="grid grid-cols-2 gap-md">
|
<div id="hardwarePricingFields" class="hidden grid-cols-2 gap-md">
|
||||||
<div class="flex flex-col gap-base">
|
<div class="flex flex-col gap-base">
|
||||||
<label class="text-label-caps text-on-surface-variant" for="hardwareEk">Hardware-EK</label>
|
<label class="text-label-caps text-on-surface-variant" for="hardwareEk">Hardware-EK</label>
|
||||||
<input type="number" id="hardwareEk" name="hardware_ek" step="0.01" min="0" placeholder="0.00"
|
<input type="number" id="hardwareEk" name="hardware_ek" step="0.01" min="0" placeholder="0.00"
|
||||||
|
|||||||
+5
-5
@@ -3661,16 +3661,16 @@ function toggleHardwarePricing() {
|
|||||||
const kundenverkaufspreisInput = document.getElementById('kundenverkaufspreis');
|
const kundenverkaufspreisInput = document.getElementById('kundenverkaufspreis');
|
||||||
|
|
||||||
if (hardwareInput.value.trim() !== '') {
|
if (hardwareInput.value.trim() !== '') {
|
||||||
// Show pricing fields and make them required
|
// Reveal the grid wrapper (Tailwind `grid` + `grid-cols-2`).
|
||||||
hardwarePricingFields.style.display = 'block';
|
hardwarePricingFields.classList.remove('hidden');
|
||||||
|
hardwarePricingFields.classList.add('grid');
|
||||||
hardwareEkInput.required = true;
|
hardwareEkInput.required = true;
|
||||||
kundenverkaufspreisInput.required = true;
|
kundenverkaufspreisInput.required = true;
|
||||||
} else {
|
} else {
|
||||||
// Hide pricing fields and remove required attribute
|
hardwarePricingFields.classList.add('hidden');
|
||||||
hardwarePricingFields.style.display = 'none';
|
hardwarePricingFields.classList.remove('grid');
|
||||||
hardwareEkInput.required = false;
|
hardwareEkInput.required = false;
|
||||||
kundenverkaufspreisInput.required = false;
|
kundenverkaufspreisInput.required = false;
|
||||||
// Clear values
|
|
||||||
hardwareEkInput.value = '';
|
hardwareEkInput.value = '';
|
||||||
kundenverkaufspreisInput.value = '';
|
kundenverkaufspreisInput.value = '';
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user