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
16 days ago
Linear
Get notified by email when there are changes.
Completed
Main App
16 days ago
Linear
Get notified by email when there are changes.