mitai-jinkendo/frontend/src
Lars 2303c04123
All checks were successful
Deploy Development / deploy (push) Successful in 49s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 14s
feat: filtered goal types - count specific training types
NEW FEATURE: Filter conditions for goal types
Enables counting/aggregating specific subsets of data.

Example use case: Count only strength training sessions per week
- Create goal type with filter: {"training_type": "strength"}
- count_7d now counts only strength training, not all activities

Implementation:
- Migration 026: filter_conditions JSONB column
- Backend: Dynamic WHERE clause building from JSON filters
- Supports single value: {"training_type": "strength"}
- Supports multiple values: {"training_type": ["strength", "hiit"]}
- Works with all 8 aggregation methods (count, avg, sum, min, max)
- Frontend: JSON textarea with example + validation
- Pydantic models: filter_conditions field added

Technical details:
- SQL injection safe (parameterized queries)
- Graceful degradation (invalid JSON ignored with warning)
- Backward compatible (NULL filters = no filtering)

Answers user question: 'Kann ich Trainingstypen wie Krafttraining separat zählen?'
Answer: YES! 🎯
2026-03-27 08:14:22 +01:00
..
components fix: value table metadata + |d modifier + cursor insertion (Issues #47, #48) 2026-03-26 12:04:20 +01:00
context fix: email verification auto-login and user experience 2026-03-21 10:32:24 +01:00
pages feat: filtered goal types - count specific training types 2026-03-27 08:14:22 +01:00
utils feat: dynamic schema dropdowns for goal type admin UI 2026-03-27 08:05:45 +01:00
app.css feat: complete sleep module overhaul - app standard compliance 2026-03-22 13:09:34 +01:00
App.jsx feat: Phase 1.5 - Flexible Goal System (DB-Registry) Part 2/2 - COMPLETE 2026-03-27 06:51:46 +01:00
main.jsx feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00