diff --git a/orchestrator/src/client/components/JobCard.tsx b/orchestrator/src/client/components/JobCard.tsx index 612d846..c0768ee 100644 --- a/orchestrator/src/client/components/JobCard.tsx +++ b/orchestrator/src/client/components/JobCard.tsx @@ -10,6 +10,7 @@ import { Copy, DollarSign, Download, + Edit2, ExternalLink, GraduationCap, Loader2, @@ -32,6 +33,7 @@ interface JobCardProps { onApply: (id: string) => void | Promise; onReject: (id: string) => void | Promise; onProcess: (id: string) => void | Promise; + onEditDescription?: (id: string) => void; isProcessing: boolean; highlightedJobId?: string | null; onHighlightChange?: (jobId: string | null) => void; @@ -78,6 +80,7 @@ export const JobCard: React.FC = ({ onApply, onReject, onProcess, + onEditDescription, isProcessing, highlightedJobId, onHighlightChange, @@ -184,6 +187,13 @@ export const JobCard: React.FC = ({ Copy info + {onEditDescription && ( + + )} + {onHighlightChange && ( + +
+ {description} +
+ + @@ -1107,45 +1151,103 @@ export const OrchestratorPage: React.FC = () => {
Job description
- - - - - - {!isEditingDescription ? ( - setIsEditingDescription(true)}> - Edit description + ) : ( + <> + + + + )} + + + + + + { + void copyTextToClipboard(selectedJob.jobDescription || ""); + toast.success("Copied raw description"); + }} + > + + Copy raw text - ) : ( - <> - - {isSavingDescription ? "Saving..." : "Save changes"} - - { - setIsEditingDescription(false); - setEditedDescription(selectedJob.jobDescription || ""); - }} - disabled={isSavingDescription} - > - Cancel edit - - - )} - - + + +
{isEditingDescription ? ( -