mirror of
https://github.com/screentinker/screentinker.git
synced 2026-05-15 07:32:23 -06:00
/me's accessible_workspaces query gains a device_count field via a correlated subquery on workspaces.id - WHERE workspace_id = w.id strictly excludes the unclaimed pair-pool (workspace_id IS NULL fails equality). Added to both query branches (platform_admin LEFT JOIN and regular INNER JOIN); microseconds per row at current scale (~37 rows worst case), not optimizing. Frontend appends the count to the muted org-name line with a middle-dot separator: 'Acme Studios . 2 devices'. Singular/plural respected via the existing tn() helper convention; 'No devices' for empty workspaces. New formatResourceCount(n, keyBase, zeroKey) helper is generic so the same shape can wire users/playlists/schedules counts later without refactor. New i18n keys: switcher.devices_count_one, switcher.devices_count_other, switcher.no_devices. Added to en.js only; other locales fall back to en via the existing lookup chain (verified in i18n.js:19). API smoke verified: switcher-test sees Studio A=2, Field Crew=2; dw5304 (platform_admin) sees all 37 workspaces with their device counts varying 0-4; single-workspace zero-device user (geoff.case) sees 0. |
||
|---|---|---|
| .. | ||
| components | ||
| i18n | ||
| views | ||
| api.js | ||
| app.js | ||
| branding.js | ||
| i18n.js | ||
| socket.js | ||
| utils.js | ||