{live && st ? (
/* The bag furthest along — ready beats out on the round beats waiting on a manager.
* One request covers as many garments as the person needed, so the card leads with the
* summary and the list itself is a tap away on the order. */
{live.status === "ready" && live.collectCode ? (
<>
>
) : (
)}
) : (
Nothing on the way
{data.hasManager && managerName
? `Ask for something and it goes to ${managerName} first.`
: "Your manager isn’t recorded yet — the linen room has to set who approves your requests."}
)}
{held.length > 0 ? held.map((h) => (
)) : (
Nothing on your record yet.
)}
{/* 2×2. "Same again" is drawn only when there is a last request to repeat: a shortcut
that opens an empty screen is worse than no shortcut. Swapping a size has moved to
My kit, which is where a wearer reads the size that is wrong. */}
{/* A chore with a deadline, not an alert: dressing it as one would devalue the banner.
The title is word for word the heading on the screen it opens. */}
{kitCheckOpen && (
Kit check is open
Have you still got everything on your record?
)}
{/* What they raised for other people, as one row rather than a list. Until Orders grew a
Raised tab a request typed in for a colleague vanished the moment it was sent. */}
{data.raisedOpen.length > 0 && (
Raised by you
{data.raisedOpen.length === 1
? `One request open for ${data.raisedOpen[0].subjectName}`
: `${data.raisedOpen.length} requests open for other people`}
Not yours to collect — this is where they got to.
)}
{/* Somebody who will not type a request themselves asks the person who approves it. The
server sends anything a manager raises up a level, which is why the row can say so
plainly — approving your own raise is the one thing this must never allow. */}
{me.isManager && (
Raise for someone you manage
Goes to your own manager, not to you.
)}
{/* The round is listed by ward, so a clerk whose ward was never filled in has no round to
open. Saying so beats a banner that never appears and a tap that 404s. */}
{data.wardDesk && !data.ward && (
)}
{data.notice &&
{data.notice}}