11"use client" ;
22
33import { useState , useMemo , useEffect , Suspense } from "react" ;
4- import { CheckCircle2 , XCircle , Search , AlertTriangle , ArrowUpDown , ArrowUp , ArrowDown , Filter , X } from "lucide-react" ;
4+ import { CheckCircle2 , XCircle , Search , AlertTriangle , ArrowUpDown , ArrowUp , ArrowDown , Filter , X , ExternalLink } from "lucide-react" ;
55import Link from "next/link" ;
66import { useRouter , useSearchParams , usePathname } from "next/navigation" ;
77import { clsx , type ClassValue } from "clsx" ;
@@ -256,7 +256,16 @@ function TasksContent() {
256256 < div className = "px-4 sm:px-6 py-4 bg-secondary/30 border-b border-border flex flex-col sm:flex-row justify-between items-start sm:items-center gap-2 sm:gap-0" >
257257 < h3 className = "text-lg font-semibold font-mono text-foreground flex items-center gap-2 w-full sm:w-auto" >
258258 < span className = "text-muted-foreground/50 text-sm shrink-0" > #{ index + 1 } </ span >
259- < span className = "truncate" title = { task . taskName } > { task . taskName } </ span >
259+ < a
260+ href = { `https://github.com/TabbyML/jj-benchmark/tree/main/tasks/${ task . taskName } /instruction.md` }
261+ target = "_blank"
262+ rel = "noopener noreferrer"
263+ className = "truncate hover:underline hover:text-primary transition-colors flex items-center gap-1.5"
264+ title = { `View ${ task . taskName } on GitHub` }
265+ >
266+ { task . taskName }
267+ < ExternalLink className = "w-4 h-4 opacity-50" />
268+ </ a >
260269 </ h3 >
261270 < div className = "text-sm text-muted-foreground shrink-0" >
262271 { task . trials . length } trials
@@ -274,7 +283,7 @@ function TasksContent() {
274283 onClick = { ( ) => toggleSort ( "latency" ) }
275284 >
276285 < div className = "flex items-center justify-end gap-1 sm:gap-2" >
277- Latency
286+ Duration
278287 { renderSortIcon ( "latency" ) }
279288 </ div >
280289 </ th >
0 commit comments