feat: add tag filtering system with user-configurable hidden tags (#431)
* feat: add tag filtering system with user-configurable hidden tags
- Add tags and track_tags tables with migrations
- Create /tracks/tags endpoint with autocomplete and track counts
- Add TagInput component for upload/edit forms with suggestions
- Implement hidden_tags preference (defaults to ["ai"])
- Filter hidden tags from latest tracks list
- Add hidden tags management UI in settings
- Fix route ordering so /tracks/tags works correctly
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: move hidden tags filter inline with discovery feed
- Add explicit filter_hidden_tags parameter to /tracks endpoint
with smart defaults (auto-disable on artist pages)
- Move hidden tags UI from settings menu to inline eye icon
below "latest tracks" heading
- Collapsible filter: eye icon expands to show/edit hidden tags
- Add 5 regression tests for filter behavior
- Fix persistence: use $effect to fetch prefs when auth ready
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
authored by
zzstoatzz.io
Claude
and committed by
GitHub
f583c3dd
9f6165b3