Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/app/admin/reviews/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -424,9 +424,9 @@ export default function ReviewsPage() {
className={cn(
"inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[11px] font-medium transition-all",
active
? "border-primary/40 bg-primary/15 text-primary"
? "border-primary/70 bg-primary/10 text-primary"
: anySelected
? "border-border/40 bg-transparent text-muted-foreground/50 hover:border-muted-foreground/40 hover:text-foreground hover:opacity-100"
? "border-border/60 bg-transparent text-muted-foreground hover:border-muted-foreground/40 hover:text-foreground hover:opacity-100"
: "border-border bg-transparent text-muted-foreground hover:border-muted-foreground/40 hover:text-foreground"
)}
>
Expand Down Expand Up @@ -484,7 +484,7 @@ export default function ReviewsPage() {
className={cn(
"inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[11px] font-medium transition-all",
nodeTypeFilter === ""
? "border-primary/40 bg-primary/15 text-primary"
? "border-primary/70 bg-primary/10 text-primary"
: "border-border bg-transparent text-muted-foreground hover:border-muted-foreground/40 hover:text-foreground"
)}
>
Expand All @@ -505,7 +505,7 @@ export default function ReviewsPage() {
className={cn(
"inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[11px] font-medium transition-all",
nodeTypeFilter === type
? "border-primary/40 bg-primary/15 text-primary"
? "border-primary/70 bg-primary/10 text-primary"
: "border-border bg-transparent text-muted-foreground hover:border-muted-foreground/40 hover:text-foreground"
)}
>
Expand Down
54 changes: 27 additions & 27 deletions src/app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -54,21 +54,21 @@
:root {
--background: oklch(0.08 0.022 260);
--foreground: oklch(0.93 0.01 260);
--card: oklch(0.12 0.022 260);
--card: oklch(0.17 0.022 260);
--card-foreground: oklch(0.93 0.01 260);
--popover: oklch(0.1 0.025 260);
--popover: oklch(0.16 0.025 260);
--popover-foreground: oklch(0.93 0.01 260);
--primary: oklch(0.72 0.14 200);
--primary-foreground: oklch(0.08 0.022 260);
--secondary: oklch(0.16 0.025 260);
--secondary: oklch(0.22 0.025 260);
--secondary-foreground: oklch(0.85 0.01 260);
--muted: oklch(0.14 0.02 260);
--muted-foreground: oklch(0.55 0.02 260);
--accent: oklch(0.16 0.025 260);
--muted: oklch(0.20 0.02 260);
--muted-foreground: oklch(0.68 0.02 260);
--accent: oklch(0.22 0.025 260);
--accent-foreground: oklch(0.9 0.01 260);
--destructive: oklch(0.65 0.2 25);
--border: oklch(0.2 0.025 260);
--input: oklch(0.16 0.025 260);
--border: oklch(0.46 0.025 260);
--input: oklch(0.22 0.025 260);
--ring: oklch(0.65 0.12 200);
--chart-1: oklch(0.72 0.14 200);
--chart-2: oklch(0.65 0.15 160);
Expand All @@ -85,28 +85,28 @@
--sidebar-primary-foreground: oklch(0.08 0.02 260);
--sidebar-accent: oklch(0.13 0.025 260);
--sidebar-accent-foreground: oklch(0.9 0.01 260);
--sidebar-border: oklch(0.18 0.025 260);
--sidebar-border: oklch(0.40 0.025 260);
--sidebar-ring: oklch(0.55 0.1 200);
}

.dark {
--background: oklch(0.08 0.022 260);
--foreground: oklch(0.93 0.01 260);
--card: oklch(0.12 0.022 260);
--card: oklch(0.17 0.022 260);
--card-foreground: oklch(0.93 0.01 260);
--popover: oklch(0.1 0.025 260);
--popover: oklch(0.16 0.025 260);
--popover-foreground: oklch(0.93 0.01 260);
--primary: oklch(0.72 0.14 200);
--primary-foreground: oklch(0.08 0.022 260);
--secondary: oklch(0.16 0.025 260);
--secondary: oklch(0.22 0.025 260);
--secondary-foreground: oklch(0.85 0.01 260);
--muted: oklch(0.14 0.02 260);
--muted-foreground: oklch(0.55 0.02 260);
--accent: oklch(0.16 0.025 260);
--muted: oklch(0.20 0.02 260);
--muted-foreground: oklch(0.68 0.02 260);
--accent: oklch(0.22 0.025 260);
--accent-foreground: oklch(0.9 0.01 260);
--destructive: oklch(0.65 0.2 25);
--border: oklch(0.2 0.025 260);
--input: oklch(0.16 0.025 260);
--border: oklch(0.46 0.025 260);
--input: oklch(0.22 0.025 260);
--ring: oklch(0.65 0.12 200);
--chart-1: oklch(0.72 0.14 200);
--chart-2: oklch(0.65 0.15 160);
Expand All @@ -122,7 +122,7 @@
--sidebar-primary-foreground: oklch(0.08 0.02 260);
--sidebar-accent: oklch(0.13 0.025 260);
--sidebar-accent-foreground: oklch(0.9 0.01 260);
--sidebar-border: oklch(0.18 0.025 260);
--sidebar-border: oklch(0.40 0.025 260);
--sidebar-ring: oklch(0.55 0.1 200);
}

Expand Down Expand Up @@ -304,25 +304,25 @@
.skin-legal {
--background: oklch(0.09 0.03 250); /* deep navy */
--foreground: oklch(0.92 0.02 55); /* warm cream */
--card: oklch(0.12 0.04 250);
--card: oklch(0.17 0.04 250);
--card-foreground: oklch(0.92 0.02 55);
--popover: oklch(0.11 0.04 250);
--popover: oklch(0.16 0.04 250);
--popover-foreground: oklch(0.92 0.02 55);
--primary: oklch(0.72 0.15 75); /* gold */
--primary-foreground: oklch(0.09 0.03 250);
--secondary: oklch(0.16 0.04 250);
--secondary: oklch(0.22 0.04 250);
--secondary-foreground:oklch(0.88 0.02 55);
--muted: oklch(0.15 0.035 250);
--muted-foreground: oklch(0.55 0.02 55);
--accent: oklch(0.16 0.04 250);
--muted: oklch(0.21 0.035 250);
--muted-foreground: oklch(0.68 0.02 55);
--accent: oklch(0.22 0.04 250);
--accent-foreground: oklch(0.92 0.02 55);
--border: oklch(0.22 0.04 250);
--input: oklch(0.16 0.04 250);
--border: oklch(0.46 0.04 250);
--input: oklch(0.22 0.04 250);
--ring: oklch(0.65 0.13 75); /* gold ring */
--cyan: oklch(0.72 0.15 75); /* remap cyan → gold */
--cyan-muted: oklch(0.45 0.08 75);
--sidebar: oklch(0.07 0.03 250);
--sidebar-foreground: oklch(0.88 0.02 55);
--sidebar-primary: oklch(0.72 0.15 75);
--sidebar-border: oklch(0.20 0.04 250);
--sidebar-border: oklch(0.40 0.04 250);
}
4 changes: 2 additions & 2 deletions src/components/admin/review-row.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@ function ConfirmActionPopover({
"shrink-0 whitespace-nowrap rounded border px-2 py-0.5 text-[11px] font-medium transition-all text-center",
minWidthClass,
disabled
? "cursor-not-allowed border-border/40 bg-transparent text-muted-foreground/40"
? "cursor-not-allowed border-border/60 bg-transparent text-muted-foreground/70"
: isApprove
? open
? "border-emerald-500/70 bg-emerald-500/15 text-emerald-200"
Expand Down Expand Up @@ -586,7 +586,7 @@ export function ReviewRow({
triggering: humanReviewTriggering,
markTriggered: markHumanReviewTriggered,
} = useStakworkRunStatus(
isMergeReviewEligible ? review.ref_id : "__noop__",
isMergeReviewEligible ? review.ref_id : null,
"node_merge_review",
{
// The workflow reports back through the ingest webhook, which turns its
Expand Down
2 changes: 1 addition & 1 deletion src/components/layout/node-preview-panel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -797,7 +797,7 @@ export function NodePreviewPanel({ node, onBack, schemas }: NodePreviewPanelProp
trigger: triggerDeepResearchRun,
triggering: deepResearchLoading,
} = useStakworkRunStatus(
DEEP_RESEARCH_NODE_TYPES.includes(currentNode.node_type) ? currentNode.ref_id : "__noop__",
DEEP_RESEARCH_NODE_TYPES.includes(currentNode.node_type) ? currentNode.ref_id : null,
"deep_research",
{ onCompleted: () => setProbeNonce((n) => n + 1) }
)
Expand Down
10 changes: 9 additions & 1 deletion src/lib/hooks/use-stakwork-run-status.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,12 @@ export function isInFlightStatus(status: StakworkRunStatus): boolean {
* (human-review dispatch).
*/
export function useStakworkRunStatus(
refId: string,
/**
* Node/review ref id to track. Pass `null` when this caller has nothing to
* track (hooks can't be called conditionally) — the hook then skips the
* hydration fetch and polling entirely instead of querying a sentinel id.
*/
refId: string | null,
jobType: string,
options: UseStakworkRunStatusOptions = {}
): UseStakworkRunStatusResult {
Expand Down Expand Up @@ -143,6 +148,7 @@ export function useStakworkRunStatus(
// Mount-time hydration (and re-run when refId changes)
useEffect(() => {
setStatus(null)
if (!refId) return
let cancelled = false
setLoading(true)

Expand Down Expand Up @@ -172,6 +178,7 @@ export function useStakworkRunStatus(

const trigger = useCallback(
async (triggerFn: () => Promise<{ stakwork_run_ref_id: string }>) => {
if (!refId) return
if (isInFlightStatus(status)) return
setTriggering(true)
setStatus("PENDING")
Expand All @@ -193,6 +200,7 @@ export function useStakworkRunStatus(

const markTriggered = useCallback(
() => {
if (!refId) return
if (isInFlightStatus(status)) return
setStatus("PENDING")
startPoll(refId)
Expand Down
Loading