Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx |
| Date | Not specified in source |
| Repository | Janady13/missionmatch |
| Revision | 1e9249840a4302ec82e123b9c9cb6f75badea3e4 |
| Branch | master |
| Path or archive member | frontend/src/tools/missionmatch/WhoCanSupport.tsx |
| Original SHA-256 | 9ecc239de08c9bc95105956f5635ce6072ba30bf736a69f38e4b76d256d5f2e3 |
| Git blob SHA | 5a6197ec06c2c7f147ac2475782f6b49261fc97d |
| Reading-copy SHA-256 | 9ecc239de08c9bc95105956f5635ce6072ba30bf736a69f38e4b76d256d5f2e3 |
Every recorded occurrence
These 49 records contain identical original source bytes. Their paths and revisions remain part of the archive.
| Original record | Branch or archive | Revision / identifier | Original location |
|---|---|---|---|
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | master | 1e9249840a4302ec82e123b9c9cb6f75badea3e4 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | workstream-d-missionmatch | 3be46ba89edb737182075a2b320509b42dc916f8 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | m5-price-to-win | 41000ad30fff4129fdaf5ec84e15ba14c27d4890 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | workstream-e-dataflow-deploy | 433815a042f9741411e60fa553fe72143e9b10db | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | w3-ai-staffing-recommendations | 43d56387270ef4da4cabd794d97ca6a49909bc7d | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws3-clearance | 4b8e7ce594c068621867f9c9deed0ec64ae6c553 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | collision-deconfliction | 4ee5a09972608ed89f8377c6665542d5f450f0a6 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ai-intelligence-layer | 5d5ddff70393a197c5f54a45280bb5dd42b24755 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws7-federal-signal | 6a9f6ce9cfb13345ffb47770d4960e7c2d9c17c2 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws6-retrieval | 6c56e29231ec05735927fa265c97d517499dfeaf | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | per-tenant-routing | 9bde0f9a74b89d01980fa658e5253acda7528d0c | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ai-brain-live | aac32fc49c878cc5bca099459307611562d0bac1 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | graphrag-foundation | b0ddeb9f633fd138d09309d1a17b7d13bc3a67f7 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws1-ontology-sync | b596f449a32a1016fbd403c36505cc00a1ac9ee6 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | time-to-fill-survival | b66e1e505863d4f17741a4b9ede73509e45bd6c6 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | mag-substrate | b82c7100a492dec67dfd1eda6b3f53def859be35 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | capture-readiness | bae6af7cb2997e819174a9e9cfff5e16067a1975 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | deploy-and-ops | bdacd9d0b4d5998d25fc74bf4007f4c3ec538c7a | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws8-teaching-loop | c823f0fb6bb2aba0f39001eb6de96f4000d9321f | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | phase2-eval-fairness | d361af254701975fe239927656ababb56374655e | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | phase2-connectors | e038d4c687aec16f8bd9bc4d907eea14d91f8704 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws2-alias-relationship | e4dada4601c6eb101830f9d223a9655dfa120616 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | presentation-readiness | eb574acaa29d71ce4d0f852572e87c275c79fdb7 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws9-bench-ingestion | f585a9ef32fa554663ce1fba9a414a54b6e49cf0 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | vendor-intelligence | fe9796a19c261951d3f2565206c0c1b5ac294465 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | per-tenant-routing | 9bde0f9a74b89d01980fa658e5253acda7528d0c | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | collision-deconfliction | 4ee5a09972608ed89f8377c6665542d5f450f0a6 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws6-retrieval | 6c56e29231ec05735927fa265c97d517499dfeaf | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | m5-price-to-win | 41000ad30fff4129fdaf5ec84e15ba14c27d4890 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws1-ontology-sync | b596f449a32a1016fbd403c36505cc00a1ac9ee6 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | master | 1e9249840a4302ec82e123b9c9cb6f75badea3e4 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws8-teaching-loop | c823f0fb6bb2aba0f39001eb6de96f4000d9321f | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | w3-ai-staffing-recommendations | 43d56387270ef4da4cabd794d97ca6a49909bc7d | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | mag-substrate | b82c7100a492dec67dfd1eda6b3f53def859be35 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws3-clearance | 4b8e7ce594c068621867f9c9deed0ec64ae6c553 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | phase2-eval-fairness | d361af254701975fe239927656ababb56374655e | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | workstream-e-dataflow-deploy | 433815a042f9741411e60fa553fe72143e9b10db | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | time-to-fill-survival | b66e1e505863d4f17741a4b9ede73509e45bd6c6 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ai-intelligence-layer | 5d5ddff70393a197c5f54a45280bb5dd42b24755 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | graphrag-foundation | b0ddeb9f633fd138d09309d1a17b7d13bc3a67f7 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | deploy-and-ops | bdacd9d0b4d5998d25fc74bf4007f4c3ec538c7a | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws9-bench-ingestion | f585a9ef32fa554663ce1fba9a414a54b6e49cf0 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws2-alias-relationship | e4dada4601c6eb101830f9d223a9655dfa120616 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | presentation-readiness | eb574acaa29d71ce4d0f852572e87c275c79fdb7 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ws7-federal-signal | 6a9f6ce9cfb13345ffb47770d4960e7c2d9c17c2 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | ai-brain-live | aac32fc49c878cc5bca099459307611562d0bac1 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | workstream-d-missionmatch | 3be46ba89edb737182075a2b320509b42dc916f8 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | phase2-connectors | e038d4c687aec16f8bd9bc4d907eea14d91f8704 | Open original |
| Janady13/missionmatch / frontend/src/tools/missionmatch/WhoCanSupport.tsx | capture-readiness | bae6af7cb2997e819174a9e9cfff5e16067a1975 | Open original |
Recovered source transcript
Download complete source text ↓66 lines · 2.7 KB
import { useEffect, useState } from 'react'
import { useMissionRequirements, useWhoCanSupport } from './queries'
import { Badge, Panel } from '../../components/ui'
import { bandColor, num } from '../../lib/format'
const selectCls =
'rounded-lg border border-line/70 bg-navy-900 px-3 py-2 text-sm text-ink outline-none focus:border-gold min-w-[20rem]'
// WhoCanSupport reads the persisted screenMATCH qualifications for one requirement (the stored
// artifact, never a rescore) and shows who can support that mission today, best first.
export function WhoCanSupport() {
const requirements = useMissionRequirements()
const [reqId, setReqId] = useState('')
useEffect(() => {
if (!reqId && requirements.data?.length) setReqId(requirements.data[0].id)
}, [requirements.data, reqId])
const support = useWhoCanSupport(reqId || null)
return (
<Panel title="Who can support this mission today" hint="read from the stored screenMATCH evaluations">
<label className="mb-3 flex flex-col gap-1.5">
<span className="text-[11px] font-bold uppercase tracking-wider text-muted">Requirement</span>
<select className={selectCls} value={reqId} onChange={(e) => setReqId(e.target.value)}>
{requirements.data?.map((r) => (
<option key={r.id} value={r.id}>
{r.title}
</option>
))}
</select>
</label>
{support.isLoading ? (
<p className="py-4 text-center text-muted">Loading…</p>
) : !support.data?.length ? (
<p className="py-4 text-center text-sm text-faint">
No one has been screened against this requirement yet. Run a screen in screenMATCH, the
qualification is stored and appears here.
</p>
) : (
<ul className="space-y-2">
{support.data.map((s) => (
<li
key={s.candidate_id}
className="flex items-center gap-4 rounded-xl border border-line/60 bg-surface/70 px-4 py-2.5"
>
<div className="min-w-0 flex-1">
<div className="font-semibold">{s.full_name}</div>
<div className="text-xs text-faint">screened {s.evaluated_at}</div>
</div>
<Badge color={s.available ? 'var(--color-ok)' : 'var(--color-warn)'} subtle>
{s.available ? 'Available' : 'Engaged'}
</Badge>
<Badge color={bandColor(s.band)} subtle>
{s.band_label}
</Badge>
<div className="w-12 text-right text-lg font-extrabold tabular-nums" style={{ color: bandColor(s.band) }}>
{num(s.total_score).toFixed(0)}
</div>
</li>
))}
</ul>
)}
</Panel>
)
}