Refactor LedgerSelect to use the shared SelectInput component #23

Open
opened 2026-07-09 19:18:59 +02:00 by Sirttas · 0 comments
Owner

Summary

LedgerSelect (src/ledger/LedgerSelect.vue) uses a native <select>. Move it onto the shared generic SelectInput<T> (src/components/SelectInput.vue) so the ledger picker looks and behaves like the item (MarketTypeInput) and location (MarketLocationInput) pickers.

Proposed change

  • Render the ledger list through SelectInput with input / item slots.
  • Preserve the existing behavior: ledgers prop with useLedgersStore().ledgers fallback, and the system-ledger green styling (text-emerald-400) for the system ledger.

Acceptance criteria

  • LedgerSelect renders via SelectInput (no native <select>).
  • System ledger stays green; selection updates the model correctly.
  • npm run build passes.

Related

Companion to the MarketTypeInputSelectInput refactor.

## Summary `LedgerSelect` (`src/ledger/LedgerSelect.vue`) uses a native `<select>`. Move it onto the shared generic `SelectInput<T>` (`src/components/SelectInput.vue`) so the ledger picker looks and behaves like the item (`MarketTypeInput`) and location (`MarketLocationInput`) pickers. ## Proposed change - Render the ledger list through `SelectInput` with `input` / `item` slots. - Preserve the existing behavior: `ledgers` prop with `useLedgersStore().ledgers` fallback, and the `system-ledger` green styling (`text-emerald-400`) for the system ledger. ## Acceptance criteria - [ ] `LedgerSelect` renders via `SelectInput` (no native `<select>`). - [ ] System ledger stays green; selection updates the model correctly. - [ ] `npm run build` passes. ## Related Companion to the `MarketTypeInput` → `SelectInput` refactor.
Sirttas added the
Status
To Refine
label 2026-07-09 19:30:19 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eveal/gemory#23