diff --git a/src/routes/movements/new/+page.svelte b/src/routes/movements/new/+page.svelte index 43e1da1..ed157b4 100644 --- a/src/routes/movements/new/+page.svelte +++ b/src/routes/movements/new/+page.svelte @@ -11,7 +11,9 @@ // Reference data/form directly here — the reactive `$: values = ...` above // hasn't run yet at component init. - let movementType = form?.values?.movement_type ?? 'in'; + // When arriving with ?part_id=… (from a part detail page), default to an + // 'out' movement of 1 — the common case is recording a sale. + let movementType = form?.values?.movement_type ?? (data?.presetPartId ? 'out' : 'in'); let partId = String(form?.values?.part_id ?? data?.presetPartId ?? ''); let partSearch = ''; @@ -59,7 +61,8 @@ // Quantity: for 'adjust' we pre-fill with the part's current on-hand so // the user can edit to the new total. Same don't-clobber-manual-edits // rule as unit price. - let quantity = form?.values?.quantity ?? ''; + // When arriving from a part detail page, start at 1 (the typical sale). + let quantity = form?.values?.quantity ?? (data?.presetPartId ? '1' : ''); let lastAutoQuantity = ''; $: { @@ -76,14 +79,21 @@

{$t('movements.new')}

- +
+ {$t('movements.type')} + +
+ {#each ['in', 'out', 'adjust'] as opt} + + {/each} +
+