feat: combine session actions into options dropdown
SessionCard desktop view: - Retain primary action button: Open (active) or Start (inactive) - Replace individual Stop/Tunnel/Delete buttons with a single Options dropdown triggered by a ⋯ button - Dropdown contains applicable actions: - Active: Stop, Recreate Tunnel (web), Delete - Inactive: Start, Delete - Add window.confirm before Delete as a safety net - Dropdown closes on outside click or Escape key - Add 'more' icon (DotsThreeVertical) to icon component - Add session-options-dropdown CSS with subtle animation Mobile view unchanged (already uses MobileActionSheet). Quality gates: tsc --noEmit pass, npm run build pass, 82/82 tests pass
This commit is contained in:
@@ -35,6 +35,7 @@ import {
|
||||
Terminal,
|
||||
ArrowLeft,
|
||||
DotsSixVertical,
|
||||
DotsThreeVertical,
|
||||
Bell,
|
||||
CaretDown,
|
||||
CaretRight,
|
||||
@@ -81,6 +82,7 @@ export type IconName =
|
||||
| "terminal"
|
||||
| "arrow-left"
|
||||
| "drag"
|
||||
| "more"
|
||||
| "bell"
|
||||
| "chevron-down"
|
||||
| "chevron-right";
|
||||
@@ -132,6 +134,7 @@ const iconMap: Record<
|
||||
terminal: Terminal,
|
||||
"arrow-left": ArrowLeft,
|
||||
drag: DotsSixVertical,
|
||||
more: DotsThreeVertical,
|
||||
bell: Bell,
|
||||
"chevron-down": CaretDown,
|
||||
"chevron-right": CaretRight,
|
||||
|
||||
Reference in New Issue
Block a user