kiwi/frontend
pyr0ball 70205ebb25 feat(recipe-tags): 'Categorize this' CTA and tag submission modal
Zero-count subcategory buttons show a + badge. Clicking opens a modal:
- Recipe search (debounced, 3-char min) using existing browse API
- Pre-filled domain/category/subcategory from current browse context,
  fully correctable via selects populated from loaded domains/categories
- Submit calls POST /recipes/community-tags; 409 on duplicate
- Success message: 'It will appear once a second user confirms'

api.ts: adds submitRecipeTag(), upvoteRecipeTag(), listRecipeTags() to browserAPI.
CSS: tag-cta pill on subcat buttons, modal-backdrop + modal-box with theme vars.

TODO: wire real community pseudonym (currently hardcoded 'anon').
Refs kiwi#118.
2026-04-22 12:37:56 -07:00
..
.vscode chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
public chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
src feat(recipe-tags): 'Categorize this' CTA and tag submission modal 2026-04-22 12:37:56 -07:00
.env chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
.gitignore chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
index.html feat: add Plausible analytics to Vue SPA and docs 2026-04-16 21:15:56 -07:00
package-lock.json feat(frontend): recipe UI — filters, dismissal, load more, prep notes, nutrition chips 2026-04-02 22:12:45 -07:00
package.json chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
THEMING_SYSTEM.md chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
tsconfig.app.json feat(kiwi-fe): wire OrchUsagePill into RecipesView and Settings opt-in toggle 2026-04-14 15:51:34 -07:00
tsconfig.json chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
tsconfig.node.json chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
vite.config.ts feat(kiwi-fe): wire OrchUsagePill into RecipesView and Settings opt-in toggle 2026-04-14 15:51:34 -07:00