Repository navigation
Product select dropdown - #161
Merged
Merged
Conversation
Products can now be filtered by name, SKU, description, category or unit while typing, with keyboard navigation and a clear button. Results show SKU and price per unit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Searchable product selection in the invoice editor
The product
<select>on each invoice line is replaced by a combobox. You can type to filter products and pick one from the results, which helps once the product catalogue gets long.What's new
web hourfinds Web development billed per hour.WEB-01 · 95.00 / hour).↑/↓to move,Enterto select,Escto close,Tabto move on. When the list opens, the current product is highlighted and scrolled into view.aria-activedescendantandaria-expanded.Behaviour
Implementation
frontend/src/lib/components/ProductCombobox.svelte(Svelte 5 runes, DaisyUI styling). It takesproducts,valueand anonchange(productId)callback.InvoiceEditor.svelteuses the new component in place of the<select>. Each row gets its own ID (product-<itemId>), so ARIA references don't clash between lines.ClearandNo products foundare added to all locales (de, nl, es-ar, es-co, pt-br, tr).Notes
customer-selection). Both add theClearkey and touchInvoiceEditor.svelte, so whichever merges second will have small conflicts that are easy to resolve.Comboboxin a follow-up.Testing
bun run check: 0 errorseslint/prettierpass on the changed files🤖 Generated with Claude Code