mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
Accepting, revoking and handing back a grant had no failure rendering at all. The request came back refused, or never left the machine, and the panel did nothing: the confirm dialog had already closed, the list did not change, and the only signal was the absence of one. The two refusals that most need a reader were the two that arrived most quietly — an invitation that had lapsed before it was opened, and the last guardian being told they may not hand back a profile that would then have nobody looking after it. Each refusal now renders on the row it belongs to, announced, in content contrast, beside a control that runs the same act again. The sentences are split by what the person does next rather than by status code, so lapsed and withdrawn read differently and the guardian refusal names the way out. A request that never reached the server says so instead of reporting a refusal nobody issued. The failed state is read off the mutation rather than copied into local state from onError: the copy is what goes stale, and the mutation already knows which row it was for. The invitation form keeps every field it had, and only a successful send clears them.