Files
FabledCurator/.gitignore
T
bvandeusen 6d630d13d6
CI / lint (push) Successful in 4s
CI / frontend-build (push) Successful in 25s
CI / backend-lint-and-test (push) Successful in 29s
CI / intimp (push) Successful in 3m29s
CI / intapi (push) Successful in 7m24s
CI / intcore (push) Successful in 8m4s
feat(gallery): pinned filter bar (Phase 1)
Gallery now has in-view filtering, styled like the app's sticky v-tabs
chrome (pinned at top:64px under TopNav).

- GalleryFilterBar: combined tag+artist autocomplete (searches
  /api/tags + /api/artists), closable filter chips (multi-tag AND),
  media toggle (All/Images/Videos), Newest/Oldest sort, Clear. Writes all
  state to the URL via router.push.
- gallery store: filter is now { tag_ids, artist_id, media_type, sort,
  post_id }; applyFilterFromQuery makes the URL the single source of truth
  (deep-linkable, back-button works); chip labels resolved by id or
  pre-noted on pick. Replaces the standalone tag chip + setTag/PostFilter.
- GalleryView: renders the bar (hidden in post-detail), syncs route.query
  → store on mount + every query change.

Also untracks the transient .claude/scheduled_tasks.lock committed in
3f30327 and gitignores it.

Tests: store parses query → composable scroll params, post_id exclusivity,
newest-sort omitted, label pre-seed, single initial fetch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 23:57:11 -04:00

72 lines
1.2 KiB
Plaintext

# FabledRulebook-required (agent-authored specs/plans live local only)
docs/superpowers/specs/
docs/superpowers/plans/
# Secrets and environment
.env
.env.*
!.env.example
*.secret
*.key
*.pem
# Python
__pycache__/
*.py[cod]
*$py.class
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
htmlcov/
.tox/
*.egg-info/
build/
dist/
venv/
.venv/
# Node / Vue / Vite
frontend/node_modules/
frontend/dist/
frontend/.vite/
frontend/coverage/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log
# Firefox extension build artifacts (lands in FC-3)
extension/*.xpi
extension/web-ext-artifacts/
# Runtime volumes (must never be tracked) — anchored to repo root so they
# don't accidentally match Python package dirs like backend/app/models/
/images/
/import/
/downloads/
/models/
/postgres_data/
/redis_data/
# IDE / OS
.vscode/
.idea/
*.swp
*.swo
.DS_Store
Thumbs.db
# Claude Code per-user local overrides (shared .claude/settings.json is OK to commit)
.claude/settings.local.json
# Transient scheduler lock/state (committed by accident in 3f30327)
.claude/scheduled_tasks.lock
.claude/scheduled_tasks*.json
# Alembic / DB scratch
alembic/versions/__pycache__/
*.sqlite
*.sqlite-journal