From 2083f1fb5c345877d0cfc75c48eb79fe83702732 Mon Sep 17 00:00:00 2001 From: shweta2101 Date: Tue, 28 Apr 2026 19:43:30 +0530 Subject: [PATCH 1/3] Add searchable project group picker and TDEI fixes Replace simple select with a searchable, keyboard-navigable ProjectGroupPicker (infinite scroll, debounced search, click-outside handling, highlighting). Add scoped styles and accessibility improvements. Update services/tdei.ts with stronger TypeScript annotations, Promise return types, optional chaining, safer JWT field casts, and paginated/searchable getMyProjectGroups API. Apply related type and runtime guards in pages/workspace/create/tdei.vue (typed refs, map removal guard, bounds check, and safer import parameter casts). Also add "qrcode" to package.json dependencies. --- components/ProjectGroupPicker.vue | 245 +++++++++++++++++++++++++++--- package.json | 1 + pages/workspace/create/tdei.vue | 31 ++-- services/tdei.ts | 53 ++++--- 4 files changed, 278 insertions(+), 52 deletions(-) diff --git a/components/ProjectGroupPicker.vue b/components/ProjectGroupPicker.vue index a48077d..6196b13 100644 --- a/components/ProjectGroupPicker.vue +++ b/components/ProjectGroupPicker.vue @@ -1,29 +1,240 @@ + + diff --git a/package.json b/package.json index 596255b..6ddc8d1 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "maplibre-gl": "^5.10.0", "nuxt": "^4.0.0", "papaparse": "^5.5.1", + "qrcode": "^1.5.4", "vue": "^3.4.19", "vue-qrcode": "^2.2.2", "vue-router": "^4.2.5", diff --git a/pages/workspace/create/tdei.vue b/pages/workspace/create/tdei.vue index aabbf4f..471dfba 100644 --- a/pages/workspace/create/tdei.vue +++ b/pages/workspace/create/tdei.vue @@ -147,6 +147,7 @@