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-1305Done

2.4 follow-up — child-item panel rows open the quick-view peek on click (reuse RelationshipPeekLink), like the relationships panel

Make the child-item panel on the work-item detail page open the SHARED quick-view peek on click, exactly like the relationships panel already does — a consistency fix (motir-core, frontend only).

Shipped reality

  • app/(authed)/items/[key]/_components/ChildList.tsx renders each child as a plain <Link href="/items/<id>"> that NAVIGATES away.
  • The relationships panel already does the right thing via RelationshipPeekLink (same dir): a real anchor to the item, but a PLAIN primary click is intercepted to open ?peek=<id> (the shared IssueQuickView modal); modifier/middle-click still opens the full page in a new tab natively.
  • The detail page ALREADY mounts <IssueQuickViewController /> (items/[key]/page.tsx:455), so the peek infra is present — nothing new to wire.

The change

  • In ChildList, replace the inner <Link> with RelationshipPeekLink (reuse it — do not re-implement the click interception), keeping the existing row markup (type icon · identifier · title · status pill · assignee) and classes. RelationshipPeekLink is 'use client'; rendering it from the (server) ChildList is fine.

Acceptance criteria

  • Plain-clicking a child row opens the quick-view peek modal (not a full navigation); ⌘/ctrl/middle-click still opens the child's detail page in a new tab; keyboard Enter opens the peek.
  • Row markup/fields/tokens unchanged (--el-* + shape tokens only); no new component invented — reuses RelationshipPeekLink.
  • Extend the issue-detail E2E to assert a child row opens the peek (and a modified click does not), waiting on the ?peek URL / panel state, not a timeout.

Context refs

  • Reuses RelationshipPeekLink + usePeekOpen/IssueQuickView (shipped). Files: ChildList.tsx, RelationshipPeekLink.tsx, IssueQuickViewController. Token/interaction rules per motir-core/CLAUDE.md.