Function
A stable set of module slugs; empty before hydration
Claiming is an act, not a consequence of completion, so it is the one thing about a prize that has to be stored. A claimed prize stays claimed: the tickets were exchanged for it.
Module slugs rather than ids, for the reason the prize catalog uses them — they are stable, readable in devtools, and already the prize's identity.
Browser-side only — do NOT call from a Server Component.
Every prize the signed-in learner has claimed, as one snapshot of module slugs.