feat(idaa): update default recovery meeting limit to 100 and add 75 to stepper
- Update default qry__limit to 100 in idaa_loc - Add 75 to limit_steps in recovery meetings query component - Bump AE_IDAA_LOC_VERSION to 2 to apply changes to existing users - Update IDAA documentation and TODO__Agents.md with SQL optimization task - Mark implemented UI/UX ideas as done in documentation
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
## IDAA Recovery Meetings
|
## IDAA Recovery Meetings
|
||||||
|
|
||||||
### 1. Guided empty state with active filters
|
### 1. Guided empty state with active filters — ✅ Implemented 2026-05-18
|
||||||
|
|
||||||
**Current behavior:** When filters return 0 results, the page shows:
|
**Current behavior:** When filters return 0 results, the page shows:
|
||||||
"No recovery meetings found matching your criteria."
|
"No recovery meetings found matching your criteria."
|
||||||
@@ -35,6 +35,12 @@ Try broadening your search or [Clear all filters →]
|
|||||||
- Distinct from the `error` state — this is a successful search (`qry__status === 'done'`)
|
- Distinct from the `error` state — this is a successful search (`qry__status === 'done'`)
|
||||||
with an empty result set.
|
with an empty result set.
|
||||||
|
|
||||||
|
**Implemented:** `src/routes/idaa/(idaa)/recovery_meetings/+page.svelte`. `has_active_filters`
|
||||||
|
derived checks `qry__physical`, `qry__virtual`, `qry__type`, and `qry__fulltext_str`. Empty
|
||||||
|
state branches on `has_active_filters`: active filters → guided message + "Clear Filters"
|
||||||
|
button; no active filters → existing escape-hatch flow (timed "Refresh Meeting Cache" after
|
||||||
|
8 seconds).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 2. Quick-filter chips below the search bar — ✅ Implemented 2026-05-18
|
### 2. Quick-filter chips below the search bar — ✅ Implemented 2026-05-18
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
**Client:** International Doctors in Alcoholics Anonymous (IDAA)
|
**Client:** International Doctors in Alcoholics Anonymous (IDAA)
|
||||||
**Module Path:** `src/routes/idaa/`
|
**Module Path:** `src/routes/idaa/`
|
||||||
**State Stores:** `src/lib/stores/ae_idaa_stores.ts`
|
**State Stores:** `src/lib/stores/ae_idaa_stores.ts`
|
||||||
**Last Updated:** 2026-03-09 (Novi UUID verification upgrade)
|
**Last Updated:** 2026-05-18 (Default limit and stepper update)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -821,4 +821,4 @@ ae_loc.idaa_loc = { novi_uuid: 'test-uuid-value', ... };
|
|||||||
---
|
---
|
||||||
|
|
||||||
**Document Status:** ✅ Current
|
**Document Status:** ✅ Current
|
||||||
**Last Verified:** 2026-05-18 — Recovery Meetings: added My Meetings / favorites (data_store-backed, star button on list + detail page), guided empty state for filtered zero-results, corrected filter/sort descriptions; updated `idaa_loc` and `idaa_sess` store schemas to match actual fields
|
**Last Verified:** 2026-05-18 — Recovery Meetings: updated default limit to 100 and added 75 to limit stepper; added My Meetings / favorites (data_store-backed, star button on list + detail page), guided empty state for filtered zero-results, corrected filter/sort descriptions; updated `idaa_loc` and `idaa_sess` store schemas to match actual fields
|
||||||
|
|||||||
@@ -232,6 +232,11 @@ suddenly jumps to 0 errors, verify it's not because a bad `.d.ts` replaced a pac
|
|||||||
- `src/routes/idaa/(idaa)/recovery_meetings/+page.svelte` fast-path IDB filter: parse
|
- `src/routes/idaa/(idaa)/recovery_meetings/+page.svelte` fast-path IDB filter: parse
|
||||||
`contact_li_json` and include contact names/emails in the local text match check.
|
`contact_li_json` and include contact names/emails in the local text match check.
|
||||||
|
|
||||||
|
- [ ] **[IDAA] Optimize Recovery Meetings SQL VIEW and indexes.**
|
||||||
|
The current search query can be taxing on the server. With ~150 active meetings, the view
|
||||||
|
logic and supporting indexes need a performance review to ensure fast responses as the
|
||||||
|
database grows. (Requested 2026-05-18)
|
||||||
|
|
||||||
- [ ] **[IDAA / Events] Audit `default_qry_str` coverage in other event search pages.**
|
- [ ] **[IDAA / Events] Audit `default_qry_str` coverage in other event search pages.**
|
||||||
The backend was updated 2026-03-31 to expose `default_qry_str` in API responses.
|
The backend was updated 2026-03-31 to expose `default_qry_str` in API responses.
|
||||||
Frontend fix applied to Recovery Meetings (`+page.svelte` + `properties_to_save`).
|
Frontend fix applied to Recovery Meetings (`+page.svelte` + `properties_to_save`).
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ const idaa_local_data_struct: key_val = {
|
|||||||
|
|
||||||
qry__enabled: 'enabled', // all, disabled, enabled
|
qry__enabled: 'enabled', // all, disabled, enabled
|
||||||
qry__hidden: 'not_hidden', // all, hidden, not_hidden
|
qry__hidden: 'not_hidden', // all, hidden, not_hidden
|
||||||
qry__limit: 150,
|
qry__limit: 100,
|
||||||
qry__order_by: 'updated_on', // For the IDB index query; name, updated_on/created_on
|
qry__order_by: 'updated_on', // For the IDB index query; name, updated_on/created_on
|
||||||
qry__order_by_li: {
|
qry__order_by_li: {
|
||||||
priority: 'DESC',
|
priority: 'DESC',
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
export const AE_LOC_VERSION = 2; // Bumped 2026-03-30: force-clear stale site_cfg_json (novi_idaa_api_key missing bug)
|
export const AE_LOC_VERSION = 2; // Bumped 2026-03-30: force-clear stale site_cfg_json (novi_idaa_api_key missing bug)
|
||||||
export const AE_EVENTS_LOC_VERSION = 1;
|
export const AE_EVENTS_LOC_VERSION = 1;
|
||||||
export const AE_IDAA_LOC_VERSION = 1; // Added 2026-03-30: was missing, no wipe mechanism existed
|
export const AE_IDAA_LOC_VERSION = 2; // Bumped 2026-05-18: change default qry__limit from 150 to 100
|
||||||
export const AE_PRES_MGMT_LOC_VERSION = 1; // Added 2026-04-02: new standalone PersistedState store
|
export const AE_PRES_MGMT_LOC_VERSION = 1; // Added 2026-04-02: new standalone PersistedState store
|
||||||
export const AE_BADGES_LOC_VERSION = 1; // Added 2026-04-02: promoted from events_loc.badges
|
export const AE_BADGES_LOC_VERSION = 1; // Added 2026-04-02: promoted from events_loc.badges
|
||||||
export const AE_LEADS_LOC_VERSION = 1; // Added 2026-04-03: promoted from events_loc.leads
|
export const AE_LEADS_LOC_VERSION = 1; // Added 2026-04-03: promoted from events_loc.leads
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ let ae_promises: key_val = $state({});
|
|||||||
|
|
||||||
// Predefined limit steps for the +/- stepper. Trusted staff get larger options
|
// Predefined limit steps for the +/- stepper. Trusted staff get larger options
|
||||||
// since they often query with disabled/hidden meetings included.
|
// since they often query with disabled/hidden meetings included.
|
||||||
let limit_steps = $derived($ae_loc.trusted_access ? [25, 50, 100, 150, 200, 500] : [25, 50, 100, 150]);
|
let limit_steps = $derived($ae_loc.trusted_access ? [25, 50, 75, 100, 150, 200, 500] : [25, 50, 75, 100, 150]);
|
||||||
let limit_idx = $derived.by(() => {
|
let limit_idx = $derived.by(() => {
|
||||||
const idx = limit_steps.indexOf($idaa_loc.recovery_meetings.qry__limit);
|
const idx = limit_steps.indexOf($idaa_loc.recovery_meetings.qry__limit);
|
||||||
return idx >= 0 ? idx : limit_steps.length - 1;
|
return idx >= 0 ? idx : limit_steps.length - 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user