Let a species name its own "variant" (rarity, style, subspecies...)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 2h 52m
- Merged PRs (30d)
- 85
Description
"Variant" is our word, not the community's. A species whose variants are Common / Uncommon / Rare / Legendary is describing rarity; another community's variants are styles, or subspecies, or morphs, or breeds. Every one of them currently reads "Variant" in the UI, which is the same class of leak as #326 — calling an item an "edit kit" when the community named it a Thornwing Edit Kit.
What
A per-species label used wherever the UI would otherwise say "variant". Singular and plural, since both appear ("Rarity", "Rarities"). Defaults to Variant/Variants, so nothing changes for a species that doesn't set one.
Species-level rather than community-level: one community can plausibly run a species with rarities and another with body types.
Where it surfaces
Everywhere the word appears in front of a member or staff — the species page, the character page and its edit form, the create page, the trait/variant admin screens, the MYO and edit-kit grant editors on an item type, the review queue, and the variant-change UI from #232.
Notes
- Docs cannot be templated. The walkthroughs will keep saying "variant" and should probably say so once, rather than every page pretending to know the reader's word for it.
- Two fields on
Species(variantLabelSingular,variantLabelPlural), both nullable, is likely enough — no separate table. Rejecting empty strings matters, since a blank label is worse than the default. - Only a display label. The model, the GraphQL field names and the enum stay
variant; renaming those buys nothing and breaks every client. - Capitalization is the trap: the label is used both mid-sentence and as a heading. Store what staff typed and let the CSS or the call site decide, rather than title-casing on save.
Came out of the variant-change ticket discussion — internally "variant change" is the right name for that feature, but it is not the name a member should see.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Species model and the existing UI call sites for “variant” across the species, character, create, admin, grant-editor, review, and variant-change screens. Verify how GraphQL exposes Species fields and how validation is tested; done means nullable singular and plural labels default to Variant/Variants, reject empty strings, and display consistently without renaming model or GraphQL variant terms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100