shipping label fix - codex
This commit is contained in:
@@ -1083,6 +1083,9 @@ export function WorkbenchPage() {
|
||||
records={actionLanes.doNow}
|
||||
selectedId={selectedFocus?.id ?? null}
|
||||
onSelect={setSelectedFocusId}
|
||||
onTaskAction={handleTaskAction}
|
||||
onQueueRelease={addRecordToQueue}
|
||||
queuedWorkOrderIds={queuedWorkOrderIds}
|
||||
/>
|
||||
<ActionLane
|
||||
title="UNBLOCK"
|
||||
@@ -1090,6 +1093,9 @@ export function WorkbenchPage() {
|
||||
records={actionLanes.unblock}
|
||||
selectedId={selectedFocus?.id ?? null}
|
||||
onSelect={setSelectedFocusId}
|
||||
onTaskAction={handleTaskAction}
|
||||
onQueueRelease={addRecordToQueue}
|
||||
queuedWorkOrderIds={queuedWorkOrderIds}
|
||||
/>
|
||||
<ActionLane
|
||||
title="RELEASE READY"
|
||||
@@ -1097,6 +1103,9 @@ export function WorkbenchPage() {
|
||||
records={actionLanes.releaseReady}
|
||||
selectedId={selectedFocus?.id ?? null}
|
||||
onSelect={setSelectedFocusId}
|
||||
onTaskAction={handleTaskAction}
|
||||
onQueueRelease={addRecordToQueue}
|
||||
queuedWorkOrderIds={queuedWorkOrderIds}
|
||||
/>
|
||||
</section>
|
||||
|
||||
@@ -1346,12 +1355,18 @@ function ActionLane({
|
||||
records,
|
||||
selectedId,
|
||||
onSelect,
|
||||
onTaskAction,
|
||||
onQueueRelease,
|
||||
queuedWorkOrderIds,
|
||||
}: {
|
||||
title: string;
|
||||
accent: string;
|
||||
records: FocusRecord[];
|
||||
selectedId: string | null;
|
||||
onSelect: (id: string) => void;
|
||||
onTaskAction: (action: PlanningTaskActionDto) => void | Promise<void>;
|
||||
onQueueRelease: (record: FocusRecord) => void;
|
||||
queuedWorkOrderIds: string[];
|
||||
}) {
|
||||
return (
|
||||
<section className="surface-panel">
|
||||
@@ -1364,26 +1379,48 @@ function ActionLane({
|
||||
) : (
|
||||
<div className="mt-3 space-y-2">
|
||||
{records.map((record) => (
|
||||
<button
|
||||
<div
|
||||
key={record.id}
|
||||
type="button"
|
||||
onClick={() => onSelect(record.id)}
|
||||
className={`block w-full rounded-[16px] border px-2 py-2 text-left transition hover:bg-page/80 ${selectedId === record.id ? "border-brand bg-brand/10" : "border-line/70 bg-page/60"}`}
|
||||
className={`rounded-[16px] border px-2 py-2 ${selectedId === record.id ? "border-brand bg-brand/10" : "border-line/70 bg-page/60"}`}
|
||||
>
|
||||
<div className="flex items-start justify-between gap-3">
|
||||
<div>
|
||||
<div className="font-semibold text-text">{record.title}</div>
|
||||
<div className="mt-1 text-xs text-muted">{record.kind} · {record.ownerLabel ?? "No context"}</div>
|
||||
<button type="button" onClick={() => onSelect(record.id)} className="block w-full text-left">
|
||||
<div className="flex items-start justify-between gap-3">
|
||||
<div>
|
||||
<div className="font-semibold text-text">{record.title}</div>
|
||||
<div className="mt-1 text-xs text-muted">{record.kind} · {record.ownerLabel ?? "No context"}</div>
|
||||
</div>
|
||||
<div className="text-right text-xs text-muted">
|
||||
<div>{formatDate(record.end)}</div>
|
||||
<div>P{priorityScore(record)}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="text-right text-xs text-muted">
|
||||
<div>{formatDate(record.end)}</div>
|
||||
<div>P{priorityScore(record)}</div>
|
||||
<div className="mt-2 flex flex-wrap gap-2">
|
||||
<RecordSignals record={record} />
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
<div className="mt-2 flex flex-wrap gap-2">
|
||||
<RecordSignals record={record} />
|
||||
{canQueueRelease(record) ? (
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => onQueueRelease(record)}
|
||||
disabled={queuedWorkOrderIds.includes(record.workOrderId ?? record.id)}
|
||||
className="rounded-2xl border border-line/70 px-2 py-2 text-xs font-semibold text-text disabled:cursor-not-allowed disabled:opacity-60"
|
||||
>
|
||||
{queuedWorkOrderIds.includes(record.workOrderId ?? record.id) ? "Queued" : "Queue release"}
|
||||
</button>
|
||||
) : null}
|
||||
{record.actions.slice(0, 2).map((action, index) => (
|
||||
<button
|
||||
key={`${record.id}-${action.kind}-${index}`}
|
||||
type="button"
|
||||
onClick={() => void onTaskAction(action)}
|
||||
className={`${index === 0 ? "bg-brand text-white" : "border border-line/70 text-text"} rounded-2xl px-2 py-2 text-xs font-semibold`}
|
||||
>
|
||||
{action.label}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user