- auth.py admin_stats now returns open_codes (all unclaimed invite codes,
newest first); unused_codes derived from it.
- account panel: renders every open code as a click-to-copy chip ("copied ✓"
flash); "issue new code" prepends the new code and auto-copies it. Chips are
user-selectable (the body-wide user-select:none no longer traps them).
copyText uses navigator.clipboard with an execCommand fallback for
non-secure contexts.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| index.html | ||