https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43518 --- Comment #2 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 205547 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=205547&action=edit Bug 43518: Add a reusable PatronSelect Vue component with patron search Add PatronSelect.vue: a searchable, debounced patron picker built on v-select. Shows age and library context alongside matching options, supports loading/disabled states, and exposes slots for custom option/no-options/spinner rendering. Not tied to any particular feature - any screen that needs to pick a patron can mount it. Add fetch/patron-api-client.js's paginated patrons.search() method for the component to query the patrons API, and vue/utils/functions.js's debounce() helper it uses to throttle search calls. Split out from bug 41129 (booking workflows), where it was originally extracted from inline logic in the booking patron-selection step, as generic UI infrastructure. Test plan: 1. Run: yarn cypress run --component --browser electron --spec 't/cypress/component/PatronSelect_spec.ts' 2. Verify all specs pass. Co-authored-by: Paul Derscheid <paul.derscheid@lmscloud.de> Co-authored-by: Martin Renvoize <martin.renvoize@openfifth.co.uk> Sponsored-by: Büchereizentrale Schleswig-Holstein <https://www.bz-sh.de/> Assisted-by: Opus 4.8 (Anthropic) Assisted-by: GPT 5.6 (OpenAI) Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk> Signed-off-by: Jacob O'Mara <jacob.omara@openfifth.co.uk> Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de> -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.