selectedAddOnRate (when categories are passed) follow the same mode so the dashboard never implies one rule while the API applies another.attik-frontend/src/app/admin/client-care-dashboard/_components/AddonRatesPanel.tsx — add a clear control (e.g. segmented buttons or radio group): Match all / Match any, visible when two or more categories are selected (unless product prefers always visible).attik-frontend/src/app/admin/client-care-dashboard/CCDashboardClient.tsx — pass the chosen mode on cc-dashboard/metrics and cc-dashboard/scheduler-metrics requests alongside globalCategoryIds (exact query key is Decision needed, e.g. globalCategoryMatch=all|any).attik-frontend/src/app/admin/client-care-dashboard/view/[viewId]/page.tsx and SaveViewModal / save payload — persist mode on the saved view when Decision needed for schema field name.attik-frontend/src/app/admin/client-care-dashboard/_types.ts — extend saved-view / client types for the new field.attik-frontend/src/app/admin/client-care-dashboard/ClientCareViewsClient.tsx — optional: surface mode in the view list summary if saved per view.addonRates cards today are inherently per category; Decision needed whether AND/OR only affects addonRatesCombined (and scheduler) or also changes how individual cards are interpreted.attik-backend/src/routes/ccDashboard.ts — extend GET /cc-dashboard/metrics: honor mode when computing addonRatesCombined (and document in response types / file header comment). AND likely requires counting inspections that have at least one qualifying charge per selected category (intersection of distinct inspection id sets or equivalent aggregation), not a single flat $in over unioned service ids.GET /cc-dashboard/scheduler-metrics: apply the same parameter to selectedAddOnRate / resolveAddonServiceIdsForCategories usage so scheduler totals agree with the dashboard.attik-backend/src/models/ccDashboardViewSchema.ts and attik-backend/src/routes/ccDashboardSavedViews.ts — add optional persisted field for the mode; migration: missing field → default per product (see Background).attik-backend/scripts/createCcDashboardViews.ts / cc_inspection_base — only touch if AND cannot be expressed efficiently in the route; otherwise keep view unchanged.attik-frontend/src/app/admin/client-care-dashboard/CCDashboardClient.tsxattik-frontend/src/app/admin/client-care-dashboard/_components/AddonRatesPanel.tsxattik-backend/src/routes/ccDashboard.tsattik-backend/src/routes/ccDashboardSavedViews.tsattik-backend/src/models/ccDashboardViewSchema.tsattik-backend/scripts/createCcDashboardViews.tsPlease authenticate to join the conversation.
Completed
Main App
2 months ago
Linear
Get notified by email when there are changes.
Completed
Main App
2 months ago
Linear
Get notified by email when there are changes.