Skip to content

feat(apollo-react): add ad hoc tasks section with play button support [MST-8189]#449

Open
kittyyueli wants to merge 1 commit intomainfrom
claude/adhoc-tasks-section-MwHFc
Open

feat(apollo-react): add ad hoc tasks section with play button support [MST-8189]#449
kittyyueli wants to merge 1 commit intomainfrom
claude/adhoc-tasks-section-MwHFc

Conversation

@kittyyueli
Copy link
Copy Markdown
Member

@kittyyueli kittyyueli commented Apr 3, 2026

Summary

This PR adds support for displaying ad hoc tasks in a separate section within stage nodes, complete with a dedicated play button for triggering individual tasks.

Key Changes

  • Separated task rendering: Split regular draggable tasks from ad hoc tasks into distinct sections

    • Regular tasks remain in the draggable DndContext
    • Ad hoc tasks are displayed in a new non-draggable section below regular tasks
  • New AdhocTaskPlayButton component: Created a memoized button component that:

    • Displays a play icon with loading state (circular progress)
    • Handles task triggering via onTaskPlay callback
    • Includes tooltip and proper event handling (stopPropagation)
    • Shows test ID for testing purposes
  • Updated task filtering logic:

    • allTasks now contains all tasks from stageDetails
    • tasks filtered to exclude ad hoc tasks (for draggable section)
    • adhocTasks filtered to include only ad hoc tasks
  • New styled components:

    • StageAdhocSection: Container with border-top separator and spacing
    • StageAdhocLabel: Label styling for the "Ad hoc tasks" section header
  • Updated StageTaskItem interface: Added hasEntryCondition property to support entry condition indicators on ad hoc tasks

  • Conditional rendering: Empty state now checks both regular and ad hoc tasks; DndContext only renders when regular tasks exist

Implementation Details

  • Ad hoc tasks are rendered without drag-and-drop functionality
  • Each ad hoc task displays the play button (if onTaskPlay is provided) and entry condition icon
  • The play button includes loading state management and error handling
  • Visual separation between regular and ad hoc tasks with and label
  • Still aligns with 16px grid

Demo

image

https://claude.ai/code/session_013Y2Tc2yebLyhnDd1qiCLp5

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (PT)
apollo-canvas 🟢 Ready Preview, Logs Apr 02, 2026, 09:03:58 PM
apollo-landing 🟢 Ready Preview, Logs Apr 02, 2026, 09:01:17 PM
apollo-ui-react 🟢 Ready Preview, Logs Apr 02, 2026, 09:02:55 PM
apollo-vertex 🟢 Ready Preview, Logs Apr 02, 2026, 09:02:40 PM
apollo-wind 🟢 Ready Preview, Logs Apr 02, 2026, 09:01:22 PM

@github-actions github-actions bot added the size:L 100-499 changed lines. label Apr 3, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 3, 2026

Dependency License Review

  • 1924 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 3 package(s) excluded (see details below)
License distribution
License Packages
MIT 1689
ISC 89
Apache-2.0 56
BSD-3-Clause 28
BSD-2-Clause 23
BlueOak-1.0.0 8
MPL-2.0 5
MIT OR Apache-2.0 3
MIT-0 3
CC0-1.0 3
LGPL-3.0-or-later 2
(MIT OR Apache-2.0) 2
Unlicense 2
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
Unknown 1
Artistic-2.0 1
(WTFPL OR MIT) 1
(BSD-2-Clause OR MIT OR Apache-2.0) 1
CC-BY-3.0 1
0BSD 1
(MIT OR CC0-1.0) 1
MIT AND ISC 1
Excluded packages
Package Version License Reason
@img/sharp-libvips-linux-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
@img/sharp-libvips-linuxmusl-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json

@kittyyueli kittyyueli force-pushed the claude/adhoc-tasks-section-MwHFc branch 2 times, most recently from 0a82205 to f832a4d Compare April 3, 2026 03:46
@kittyyueli kittyyueli marked this pull request as ready for review April 3, 2026 03:59
@kittyyueli kittyyueli requested a review from Miyuki-L April 3, 2026 03:59
…tage node

Ad hoc tasks are now rendered in their own non-draggable, non-reorderable
section at the bottom of the stage with an "Ad hoc tasks" label and divider.
Entry condition icon is no longer shown by default on ad hoc tasks — instead,
a new `hasEntryCondition` field on `StageTaskItem` controls per-task display.

https://claude.ai/code/session_013Y2Tc2yebLyhnDd1qiCLp5
@kittyyueli kittyyueli force-pushed the claude/adhoc-tasks-section-MwHFc branch from f832a4d to aee682d Compare April 3, 2026 04:00
@kittyyueli kittyyueli enabled auto-merge (rebase) April 3, 2026 04:01
@kittyyueli kittyyueli changed the title feat(apollo-react): add ad hoc tasks section with play button support feat(apollo-react): add ad hoc tasks section with play button support [MST-8189] Apr 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants