MotirBuilding in public
MOTIR · moooon
onMotir
You’re viewing a public project. Anyone can view it — no account needed. Sign in to submit, upvote, or comment on requests.View-only — you can’t edit work items
MOTIR-355

6.4.6 UI gating — hide inaccessible projects, no-access state, assignable-users scoping, role affordances

Done
Description

Estimate: 24m · Depends on: 6.4.1, 6.4.3

Make the gate visible in the app. (a) The project switcher / nav lists only projects the user can browse (private projects they’re not on are absent). (b) Direct navigation to an inaccessible project’s board/issues renders the no-access state (6.4.1), not a crash, off the ProjectAccessDeniedError. (c) Assignable users — the assignee/reporter pickers on a private project list only project members (the Jira behaviour), workspace members on open/limited. (d) Role affordances — a viewer (or a member on a limited project) sees create / move / assign / edit controls disabled with an explanatory tooltip, not missing.

Acceptance criteria

  • The switcher/nav omits non-browsable projects; a direct link to one shows the no-access state (no crash); both driven by the 6.4.3 policy.
  • Assignee/reporter pickers are scoped to project members on a private project; viewers / limited-project members see edit affordances disabled with a tooltip (not absent).
  • Colours via --el-*, shape via element tokens, AA-safe; matches the 6.4.1 design.
  • Component tests cover the project-list filtering, the no-access state, the scoped picker, and the disabled-affordance treatment.

Context refs

  • the project switcher (Story 1.3/1.5 shell) + the assignee/reporter pickers (Story 2.5) — the surfaces to gate; Story 6.4.3 (the policy) + 6.4.1 (the no-access design)