task modal: scroll the config area so the Run/Queue buttons stay reachable with long track lists

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-24 06:54:48 +00:00
co-authored by Claude Opus 4.8
parent 8faa4abcaf
commit 3b13b98532
@@ -979,12 +979,13 @@ const ScriptRunner = ({ taskDirName, autoInputs, context, cwd, entryType, filePa
if (runner.phase === 'ready') {
return (
<div className="flex-1 flex flex-col">
<div className="flex-1 flex flex-col min-h-0">
{selectedNames && selectedNames.length > 1 && (
<div className="px-5 py-2 border-b border-duck-dark/10 text-sm text-duck-dark/70 dark:text-foreground/70">
<div className="shrink-0 px-5 py-2 border-b border-duck-dark/10 text-sm text-duck-dark/70 dark:text-foreground/70">
Running on <span className="font-medium">{selectedNames.length}</span> selected items
</div>
)}
<div className="flex-1 min-h-0 overflow-y-auto">
{perGroupTracks && entryType === 'directory' ? (
<PerGroupTrackConfig
groups={allGroups}
@@ -1017,7 +1018,8 @@ const ScriptRunner = ({ taskDirName, autoInputs, context, cwd, entryType, filePa
)}
</>
)}
<div className="flex-1 flex items-center justify-center gap-3">
</div>
<div className="shrink-0 flex items-center justify-center gap-3 border-t border-duck-dark/10 py-4">
{(() => {
const noWork = perGroupTracks && entryType === 'directory' && !perGroupHasWork;
const base = 'flex items-center gap-2 px-6 py-2.5 rounded-lg font-medium text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer';