Skip to content

moooon

Motir

Vibe your whole project. Bring an idea — Motir's three AI layers plan it, track it, and ship it, end to end. You're looking at Motir, built in Motir.

  • Vibe Project
  • Open Source
  • AI Agent
  • AI Loop
1
requests
0
upvotes
145
planned
1,361
shipped

Motir · Work items

MOTIR-355Done

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

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)