Commit Graph

632 Commits

Author SHA1 Message Date
Taylor Ho
7038c4cbf9 fix: prepend newly created agents to top of list instead of appending 2026-05-21 19:18:28 -07:00
Taylor Ho
abdb683638 fix: popover stays open after add/remove, items don't reorder while open 2026-05-21 19:18:28 -07:00
Taylor Ho
79f59d45ac fix: opacity-70 → opacity-50 on in-channel agent avatar + label 2026-05-21 19:18:27 -07:00
Taylor Ho
90fa35ec04 fix: opacity-70 on in-channel agent avatar + label, X stays full opacity 2026-05-21 19:18:27 -07:00
Taylor Ho
29681d3ca4 feat: add X remove button for in-channel agents in quick-add popover 2026-05-21 19:18:27 -07:00
Taylor Ho
aafe5c2302 fix: increase section spacing in AddChannelBotDialog (space-y-5 → space-y-6) 2026-05-21 19:18:27 -07:00
Taylor Ho
d8e29de06b revert: restore AddChannelBotDialog to pre-branch state (remove progressive disclosure changes) 2026-05-21 19:18:26 -07:00
Taylor Ho
c2c62fa893 fix: deselect team toggle when individual agents are unchecked 2026-05-21 19:17:31 -07:00
Taylor Ho
31778487f0 fix: remove opacity-50 on inactive avatars — looked disabled 2026-05-21 19:17:31 -07:00
Taylor Ho
cb848348d7 fix: remove running tag, use opacity-50 on inactive agent avatars instead 2026-05-21 19:17:31 -07:00
Taylor Ho
7c96f87f3a fix: badge mask border-background → border-popover to match popover surface 2026-05-21 19:17:30 -07:00
Taylor Ho
3d09cd9d92 fix: Add button px-3 → px-1 2026-05-21 19:17:30 -07:00
Taylor Ho
cae7f6ec2a fix: Add button pb-1.5 → pb-1 2026-05-21 19:17:30 -07:00
Taylor Ho
a6074150eb fix: bump More options button py-2 → py-2.5 2026-05-21 19:17:30 -07:00
Taylor Ho
16dc0094d0 fix: reduce bottom padding on floating Add button 2026-05-21 19:17:30 -07:00
Taylor Ho
bcc45872b1 fix: remove gap-2.5 from row, animate marginRight on checkbox, wrap content in gapped div — no extra left padding when checkbox hidden 2026-05-21 19:17:30 -07:00
Taylor Ho
6481789bd3 fix: team filter row always mounted — animate height continuously, no mount/unmount jank 2026-05-21 19:17:29 -07:00
Taylor Ho
8e6608c174 fix: checkbox animates width continuously instead of mount/unmount — no more jank on exit 2026-05-21 19:17:29 -07:00
Taylor Ho
30e7097ff3 feat: animated checkbox with layout transitions, absolute Add button with gradient, remove 's' animation and border-2 2026-05-21 19:17:29 -07:00
Taylor Ho
7b4c1de075 fix: border-2 on subtle toggle pressed state 2026-05-21 19:17:29 -07:00
Taylor Ho
b01411543d Add bg-primary/10 to subtle toggle selected state, fix row spacing
- Subtle variant pressed: bg-primary/10 tint behind the colored border
- Toggle row: pt-0.5 pb-1 to balance spacing (was more above than below)
2026-05-21 19:17:29 -07:00
Taylor Ho
d5f3db1291 fix: colored border-primary on subtle toggle pressed state, reduce toggle row py 2026-05-21 19:17:29 -07:00
Taylor Ho
cb7b83b85a feat: add subtle toggle variant (outline-only state change), use it for team chips at h-6 2026-05-21 19:17:28 -07:00
Taylor Ho
afa4abd3dd Move team toggles to own row between header and list with layout animation
- Toggles sit in a separate row that slides in/out (height animation)
- Agent list uses motion layout to smoothly translate down when row appears
- Header stays clean: just title + Select/Cancel button
- Gradient scroll affordance on the toggle row's right edge
2026-05-21 19:17:28 -07:00
Taylor Ho
f15c436cd2 Fix 's' animation: opacity only, no width transition
The width:0→auto animation caused the 's' to render broken.
Just fade it in with opacity — it's one character, doesn't need
a width transition.
2026-05-21 19:17:28 -07:00
Taylor Ho
b682fb70e2 Keep title visible, toggles to the right, gradient scroll affordance
- 'Add agent' title stays visible always; 's' fades in when select mode
  activates ('Add agents')
- Team toggles appear to the right of the title, scroll horizontally
- Right-edge gradient (from-popover to-transparent) hints at more
  content when overflowing
2026-05-21 19:17:28 -07:00
Taylor Ho
df7838496c Rethink: Select button always outline, label toggles Select/Cancel, default toggle colors
- Button stays ghost+border (outline look) in both states
- Label changes: 'Select' → 'Cancel' when active
- Toggle chips use default data-[state=on]:bg-primary (removed accent override)
2026-05-21 19:17:28 -07:00
Taylor Ho
5bad647f11 Fix button hierarchy: toggles use accent, Select uses secondary
Three primary buttons competing looked unfocused. New hierarchy:
- Add (N) button: primary (the CTA)
- Toggle chips selected: bg-accent (visible but not competing)
- Select button active: secondary (subtle elevation, not primary)
2026-05-21 19:17:27 -07:00
Taylor Ho
1054ca6959 fix: remove extra py-1.5 on team-chips container causing header height shift in select mode 2026-05-21 19:17:27 -07:00
Taylor Ho
c1717da6a4 Match Toggle height to Button sm (h-8) for visual parity 2026-05-21 19:17:27 -07:00
Taylor Ho
e0a5b25d7c fix: match header right padding to top padding on Select button 2026-05-21 19:17:27 -07:00
Taylor Ho
e0045b476b Polish: first team fades only, 2nd+ translate+fade; fix header padding
- First team chip: opacity-only animation (no x translate)
- Second+ chips: translate from x:12 + fade, staggered by index
- Header container: px-3 py-1.5 with gap-2 for consistent spacing
  around the Select button on all sides
2026-05-21 19:17:27 -07:00
Taylor Ho
596c6323bd Restore checkbox without animation — static div, no motion 2026-05-21 19:17:27 -07:00
Taylor Ho
dcf0655330 Remove agent checkboxes from select mode, keep it clean
Checkboxes were too busy in the agent list. Selection is now
indicated only by the bg-accent/50 highlight on selected rows.
Button already uses size=sm.
2026-05-21 19:17:26 -07:00
Taylor Ho
ff513e9cdc Fix Select button: ghost+border for transparent bg, no bg-background clash
The outline variant includes bg-background which creates a visible
contrast block against bg-popover. Use ghost variant with explicit
border-input border for a truly transparent-bg outlined button.
2026-05-21 19:17:26 -07:00
Taylor Ho
f54727e57b Fix Select button: keep label as 'Select', use outline variant for visibility
- Label stays 'Select' in both states (no more 'Cancel' label)
- Inactive: variant='outline' (visible against bg-popover)
- Active: variant='default' (primary) for clear state change
- Popover uses bg-popover token (hsl 220 23% 95% light / 232 23% 18% dark)
2026-05-21 19:17:26 -07:00
Taylor Ho
a3b425db4e Polish: secondary→primary Select button, animated checkboxes, truncation fix
- Select button uses Button variant='secondary', switches to 'default'
  (primary) when active for clear visual state change
- Checkboxes animate in with fade + scale (motion.div) when entering
  select mode
- Agent name uses min-w-0 + truncate for proper text overflow when
  checkbox pushes content over
2026-05-21 19:17:26 -07:00
Taylor Ho
85da5ddee1 Fix: stay in select mode when deselecting agents, stagger toggle animation
- Remove auto-exit from select mode when selectedKeys empties — only
  Cancel button exits select mode now.
- Stagger team Toggle animations: first chip fades in immediately,
  subsequent chips delay by index * 50ms for a fan-out effect.
2026-05-21 19:17:26 -07:00
Taylor Ho
917398f302 Use Toggle for team chips, move Add button below More Options
- Team chips now use shadcn Toggle component (outline variant) with
  visual pressed state via data-[state=on]
- Toggles are selectable/deselectable — clicking again removes the team
- 'Select' button becomes 'Cancel' when active — clears all selections
  and exits select mode
- 'Add (N)' button moved to the bottom of the popover, below More Options
- Full-width button, only visible when items are selected
2026-05-21 19:17:26 -07:00
Taylor Ho
2e09796e9c Add Select button with animated team chips to popover header
- 'Select' button in the header reveals team filter chips on click
- Title fades out, team chips animate in from right using motion/react
- Clicking a team chip auto-selects all its member agents
- Multi-select mode shows checkboxes + 'Add (N)' confirm button
- Single-click fast path preserved when not in select mode
- Team chips scroll horizontally when overflowing
- Exiting: deselect all returns to default title state
2026-05-21 19:17:25 -07:00
Taylor Ho
3acc220679 Reshape AddChannelBotDialog with progressive disclosure
Restructure the dialog from a flat wall of fields into three layers:

1. Primary (always visible): Persona/team selection + runtime picker.
   These are the two decisions that matter most.

2. Customize (collapsed): Bot name, system prompt, respond-to allowlist.
   Power user controls that don't block the happy path.

3. Advanced (collapsed): Backend provider selection, provider config.
   Expert territory hidden by default.

Uses a simple DisclosureSection component with chevron toggle. All
existing functionality preserved — just layered behind progressive
disclosure. Description updated to match the new vibe.
2026-05-21 19:17:25 -07:00
Taylor Ho
923bb3897d Simplify popover: strip teams/multi-select, back to flat quick-add list
Remove team headers, nesting, multi-select mode, checkboxes, batch
mutations, and team-related imports. The popover returns to its core
purpose: a flat, smartly-ordered list where single-click immediately
adds an agent. Teams and batch selection will live in the 'More options'
dialog instead.

Keeps: overflow-hidden fix, role=menu, smart ordering (running first,
recents, then available), scroll container with mid-item clip.
2026-05-21 19:16:14 -07:00
Taylor Ho
82ca654d02 Reorganize popover: nest agents under team headers, hover-reveal checkboxes
- Agents now appear indented under their team header as a visual unit
- Ungrouped agents (not in any team) show in a separate section below
- Checkboxes hidden by default, fade in on hover (group-hover)
- Clicking checkbox enters multi-select mode; clicking row still does
  single-add (fast path preserved for ungrouped agents)
- Team header click selects all members and enters multi-select mode
- Once in multi-select mode, all checkboxes stay visible
- Running agents still sort to top within their section
2026-05-21 19:16:14 -07:00
Taylor Ho
170a22921c Move Add button inline with header, show only in multi-select mode
Relocate the batch confirm button from the bottom sticky area into the
'Add agent' header row, anchored right. Uses Button size=sm (smallest
variant). Only renders when multi-select mode is active with 1+ items
selected.
2026-05-21 19:16:14 -07:00
Taylor Ho
d8771fe720 feat: hybrid multi-select with team support in QuickAddAgentPopover
Transform the Quick Add Agent popover into a hybrid interaction model:

- Single-click on an individual agent still adds immediately (fast path)
- Clicking a team row selects all its personas and enters multi-select mode
- In multi-select mode, clicking agents toggles checkbox selection
- Sticky 'Add (N)' confirm button appears at the bottom in multi-select
- Teams section at the top shows usable teams with member count
- Scroll container clips mid-item (max-h-[13.75rem]) to hint at more content
- Nothing pre-selected; running agents still sort to top via recency
- Batch add uses useCreateChannelManagedAgentsMutation for new personas
  and individual attach for already-running agents
2026-05-21 19:16:13 -07:00
Taylor Ho
940935f563 fix: clip QuickAddAgentPopover items to container border-radius
Add overflow-hidden to PopoverContent so hover backgrounds on the
bottom item stay clipped within the rounded corners. Also restore
role=menu on the keyboard-navigable container (lost during revert).
2026-05-21 19:16:13 -07:00
Taylor Ho
91f398f68e fix: clip dropdown menu items to container border-radius
Change DropdownMenuContent from overflow-y-auto to overflow-hidden so
hover/focus backgrounds on menu items are clipped by the container's
rounded corners. Instances that need scrolling (e.g. PulseView) already
pass overflow-y-auto via className which overrides the y-axis.

Matches the existing SubContent pattern which already uses overflow-hidden.
2026-05-21 19:16:13 -07:00
Taylor Ho
f6b3c5d004 Move Add agent trigger to Members sidebar header row
Add a compact '+' icon button immediately left of the ellipsis (⋯)
bulk-actions menu in the Bots section header of the Members side pane.
Remove the old full-width 'Add agent' button from below the bots list.

The trigger opens the same QuickAddAgentPopover as before — just in a
more discoverable, compact location matching the ⋯ button style.
2026-05-21 19:16:13 -07:00
Taylor Ho
c1bc5dcdb3 Revert "Move Add agent button to sit immediately left of settings gear"
This reverts commit bde1fc270ffb9e988407e8f0f4e159418483f35b.
2026-05-21 19:16:13 -07:00
Taylor Ho
0bb63ae2a0 Move Add agent button to sit immediately left of settings gear
Reorder header action buttons so the Quick Add Agent popover trigger
(+ icon) is positioned directly before the manage channel button,
making it more discoverable next to the channel settings.

Also fix pre-existing lint: add role=menu to popover container and
format QuickAddAgentPopover.tsx per biome rules.
2026-05-21 19:16:13 -07:00