6d630d13d6
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>
72 lines
1.2 KiB
Plaintext
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
|