(
draft: (typeof sortedDrafts)[number]
)
| 2380 | }; |
| 2381 | |
| 2382 | const renderDraft = ( |
| 2383 | draft: (typeof sortedDrafts)[number] |
| 2384 | ): React.ReactNode => { |
| 2385 | const sectionId = getDraftSectionId(draft); |
| 2386 | const promotedMetadata = activeDraftPromotions[draft.draftId]; |
| 2387 | |
| 2388 | if (promotedMetadata) { |
| 2389 | const liveMetadata = |
| 2390 | projectWorkspaces.find( |
| 2391 | (workspace) => workspace.id === promotedMetadata.id |
| 2392 | ) ?? promotedMetadata; |
| 2393 | return renderWorkspace(liveMetadata, sectionId ?? undefined); |
| 2394 | } |
| 2395 | |
| 2396 | const draftNumber = draftNumberById.get(draft.draftId) ?? 0; |
| 2397 | const isSelected = |
| 2398 | pendingNewWorkspaceProject === projectPath && |
| 2399 | pendingNewWorkspaceDraftId === draft.draftId; |
| 2400 | |
| 2401 | return ( |
| 2402 | <DraftAgentListItemWrapper |
| 2403 | key={draft.draftId} |
| 2404 | projectPath={projectPath} |
| 2405 | draftId={draft.draftId} |
| 2406 | draftNumber={draftNumber} |
| 2407 | isSelected={isSelected} |
| 2408 | sectionId={sectionId ?? undefined} |
| 2409 | onVisibilityChange={(isVisible) => { |
| 2410 | handleDraftVisibilityChange( |
| 2411 | projectPath, |
| 2412 | draft.draftId, |
| 2413 | isVisible |
| 2414 | ); |
| 2415 | }} |
| 2416 | onOpen={() => |
| 2417 | handleOpenWorkspaceDraft(projectPath, draft.draftId) |
| 2418 | } |
| 2419 | onDelete={() => { |
| 2420 | if (isSelected) { |
| 2421 | const currentIndex = sortedDrafts.findIndex( |
| 2422 | (d) => d.draftId === draft.draftId |
| 2423 | ); |
| 2424 | const fallback = |
| 2425 | currentIndex >= 0 |
| 2426 | ? (sortedDrafts[currentIndex + 1] ?? |
| 2427 | sortedDrafts[currentIndex - 1]) |
| 2428 | : undefined; |
| 2429 | |
| 2430 | if (fallback) { |
| 2431 | openWorkspaceDraft(projectPath, fallback.draftId); |
| 2432 | } else { |
| 2433 | navigateToProject(sectionId ?? projectPath); |
| 2434 | } |
| 2435 | } |
| 2436 | |
| 2437 | deleteWorkspaceDraft(projectPath, draft.draftId); |
| 2438 | }} |
| 2439 | /> |
no test coverage detected