Changes
1. Rename 18+ → 19+ everywhere
Some countries (e.g., South Korea) use 19 as the age cutoff. Change all references:
- Filter labels: "18+" → "19+"
- Checkbox text: "This story contains adult content (18+)" → "(19+)"
- NSFW badge text
- Any other user-facing text referencing "18+"
2. Add 19 badge on book cover images
For stories with is_nsfw = true, display a circled "19" badge on the top-right corner of the cover image — same style as Korean webtoon platforms (Toptoon reference).
- Small circular badge, solid background
- Positioned top-right of the StoryCard cover image
- Visible on both discover page cards and story detail page cover
3. Move 19+ toggle to the global nav bar
Replace the current 19+ checkbox in the FilterBar with a toggle button next to the PlotLink logo in the top nav bar. Reference: Toptoon's "19" pill next to the logo.
- Small pill/badge toggle next to "PlotLink" text in NavBar
- Click to toggle NSFW content visibility globally
- Persist preference in localStorage (already implemented)
- Remove the 19+ checkbox from the FilterBar (avoid duplication)
- Toggle state applies to all pages (discover, profile, etc.)
Acceptance Criteria
Changes
1. Rename 18+ → 19+ everywhere
Some countries (e.g., South Korea) use 19 as the age cutoff. Change all references:
2. Add 19 badge on book cover images
For stories with
is_nsfw = true, display a circled "19" badge on the top-right corner of the cover image — same style as Korean webtoon platforms (Toptoon reference).3. Move 19+ toggle to the global nav bar
Replace the current 19+ checkbox in the FilterBar with a toggle button next to the PlotLink logo in the top nav bar. Reference: Toptoon's "19" pill next to the logo.
Acceptance Criteria