feat: @-mention autocomplete; consultant bounty-board access; clickable atomization tasks

- @-mentions: typing "@" in task comments, the messages composer and the chat
  widget now opens a user picker (new shared mention.js) that inserts "@Name ".
  Backed by the existing /api/v1/users search; menus de-dupe per field.
- Consultants can now open the bounty board (read-only): nav link + page/API
  access extended to consultants, board visibility resolves their assigned
  customers, and cards show "Open" instead of claim actions for non-developers.
- Atomization board task titles (roots and subtasks) link to /tasks/{id} so
  consultants can reach the detail view (comments, assignment, timeline).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
etalon
2026-06-13 11:54:44 +02:00
parent b4e919502f
commit 70cb664246
10 changed files with 198 additions and 17 deletions
+17
View File
@@ -766,6 +766,23 @@ input[type=range] { width: 100%; accent-color: var(--accent); }
border-color: color-mix(in srgb, var(--accent) 70%, black);
}
/* ---- @-mention autocomplete menu ---- */
.mention-menu {
position: absolute; z-index: 80;
background: var(--surface); border: var(--hairline);
border-radius: var(--radius);
box-shadow: var(--ink-shadow);
max-height: 220px; overflow-y: auto;
padding: 4px;
}
.mention-row {
display: block; width: 100%; text-align: left;
font: inherit; font-size: 0.9rem;
background: none; border: none; color: var(--text);
padding: 7px 10px; cursor: pointer; border-radius: var(--radius);
}
.mention-row.active, .mention-row:hover { background: var(--surface2); }
/* ---- dialogs: paper slips ---- */
dialog {
background: var(--surface); color: var(--text);