From a804877a0852a397581e4647953d95053b360c17 Mon Sep 17 00:00:00 2001 From: Jose Olarte III Date: Thu, 30 Oct 2025 21:16:36 +0800 Subject: [PATCH] feat: Add quick search to EntityGrid with date-based contact sorting - Add search-as-you-type functionality with 500ms debounce - Implement search across contact names and DIDs, project names and handleIds - Add loading spinner and dynamic clear button - Add $contactsByDateAdded() method to PlatformServiceMixin for newest-first sorting - Update GiftedDialog to use date-based contact ordering - Maintain backward compatibility with existing $contacts() alphabetical sorting - Add proper cleanup for search timeouts on component unmount The search feature provides real-time filtering with visual feedback, while the new sorting ensures recently added contacts appear first. --- src/components/EntityGrid.vue | 129 +++++++++++++++++++++++++++++- src/components/GiftedDialog.vue | 2 +- src/utils/PlatformServiceMixin.ts | 15 ++++ 3 files changed, 142 insertions(+), 4 deletions(-) diff --git a/src/components/EntityGrid.vue b/src/components/EntityGrid.vue index a4d5aa55..92c76e81 100644 --- a/src/components/EntityGrid.vue +++ b/src/components/EntityGrid.vue @@ -1,7 +1,40 @@ -/** * EntityGrid.vue - Unified entity grid layout component * * Extracted from -GiftedDialog.vue to provide a reusable grid layout * for displaying people, -projects, and special entities with selection. * * @author Matthew Raymer */ +/** + * EntityGrid.vue - Unified entity grid layout component + * + * Extracted from GiftedDialog.vue to provide a reusable grid layout + * for displaying people, projects, and special entities with selection. + * + * @author Matthew Raymer + */