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
|
||||
|
||||
### 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:
|
||||
"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'`)
|
||||
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
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
**Client:** International Doctors in Alcoholics Anonymous (IDAA)
|
||||
**Module Path:** `src/routes/idaa/`
|
||||
**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
|
||||
**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
|
||||
`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.**
|
||||
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`).
|
||||
|
||||
@@ -84,7 +84,7 @@ const idaa_local_data_struct: key_val = {
|
||||
|
||||
qry__enabled: 'enabled', // all, disabled, enabled
|
||||
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_li: {
|
||||
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_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_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
|
||||
|
||||
@@ -39,7 +39,7 @@ let ae_promises: key_val = $state({});
|
||||
|
||||
// Predefined limit steps for the +/- stepper. Trusted staff get larger options
|
||||
// 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(() => {
|
||||
const idx = limit_steps.indexOf($idaa_loc.recovery_meetings.qry__limit);
|
||||
return idx >= 0 ? idx : limit_steps.length - 1;
|
||||
|
||||
Reference in New Issue
Block a user