Spaces:
Sleeping
Sleeping
File size: 2,530 Bytes
19abe39 e9b7141 19abe39 e9b7141 19abe39 1e49495 e9b7141 1e49495 19abe39 e9b7141 19abe39 e9b7141 19abe39 e9b7141 19abe39 e9b7141 19abe39 e9b7141 19abe39 e9b7141 1e49495 19abe39 1e49495 19abe39 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | function BoolVal({ value }) {
if (value === null || value === undefined) {
return <span className="info-val dim">—</span>;
}
return (
<span className={`info-val ${value ? 'bool-true' : 'bool-false'}`}>
{value ? 'TRUE' : 'FALSE'}
</span>
);
}
function NumVal({ value, decimals = 0 }) {
if (value === null || value === undefined) {
return <span className="info-val dim">—</span>;
}
return <span className="info-val">{decimals > 0 ? Number(value).toFixed(decimals) : value}</span>;
}
export default function InfoBadges({ metrics, paperState, targetDef }) {
const format = metrics?.format;
const anchored = metrics?.anchored;
const novelty = metrics?.novelty;
const completion = metrics?.completion;
const regression = metrics?.regression;
const efficiency = metrics?.efficiency;
return (
<div className="info-badges">
<div className="info-row">
<span className="info-key">format</span>
<BoolVal value={format != null ? format === 1.0 : null} />
</div>
<div className="info-row">
<span className="info-key">anchored</span>
<NumVal value={anchored} decimals={2} />
</div>
<div className="info-row">
<span className="info-key">novelty</span>
<NumVal value={novelty} decimals={2} />
</div>
<div className="info-row">
<span className="info-key">completion</span>
<NumVal value={completion} decimals={1} />
</div>
<div className="info-row">
<span className="info-key">regression</span>
<NumVal value={regression} decimals={3} />
</div>
<div className="info-row">
<span className="info-key">efficiency</span>
<NumVal value={efficiency} decimals={3} />
</div>
{targetDef && (
<>
<div className="info-row">
<span className="info-key">level</span>
<span className="info-val">LVL {targetDef.level}</span>
</div>
<div className="info-row">
<span className="info-key">creases</span>
<span className="info-val">{targetDef.n_creases}</span>
</div>
<div className="info-row">
<span className="info-key">task</span>
<span className="info-val" style={{ fontSize: '10px', textAlign: 'right', maxWidth: '140px', wordBreak: 'break-word' }}>
{(targetDef.name || '').replace(/_/g, ' ').toUpperCase()}
</span>
</div>
</>
)}
</div>
);
}
|