- Translate all user-facing text to Turkish across dietitian.js,
trainer.js, shopping.js, and index.html
- Fix meal plan not rendering: add frontend-compatible fields
(macros, meals, recommended_water_liters) to diet plan response
- Translate meal types, diet types, day names, medical notes,
supplements, tips, injury notes, workout titles
- Translate shopping list categories
- Translate login/register Email labels to E-posta
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
API returns { workout: {...} }, { meal_plan: {...} }, { shopping: {...} }
but frontend was using the wrapper object directly, causing all fields
(week, days, daily_calories, etc.) to be undefined.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add mesocycle_phase to all workout program return objects
- Fix day.title undefined: use day.name which is the actual field name
- Fix goal display: parse comma-separated values to Turkish labels
- Fix injury area display: parse comma-separated values to Turkish labels
- Pre-load meal data on dashboard to show daily calories immediately
- Fixes: 'Hafta undefined/4', 'Temel' badge, empty workouts, raw
'lose_weight,build_muscle' display, missing calorie stat
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix Invalid fitness_goal error: frontend values (general, hypertrophy)
did not match backend enum (general_fitness, muscle_gain)
- Fix Invalid cardio_preference error: frontend values (running, cycling)
did not match backend enum (low, moderate, high)
- Convert both fields to multi-select checkboxes
- Update backend validation to accept all frontend values with multi-enum
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove profileNextStep(1) from saveProfile catch block so users stay
on current step when an error occurs instead of being sent back to step 1
- Convert Goal, Activity Level, and Injury Area fields from single-select
(radio/dropdown) to multi-select checkboxes with comma-separated storage
- Add validateMultiEnum backend validation for comma-separated enum values
- Update trainer.js filterByInjury and goal checks for multi-value support
- Update dietitian.js TDEE, calorie, and water calculations for multi-values
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Expanded profile with 70+ fields: disability, chronic diseases, medications,
blood type/pressure/sugar, heart/diabetes/thyroid/asthma/arthritis conditions
- Workout location modes: gym (full equipment), home (bodyweight+equipment),
none (light activity plan for non-exercisers)
- Exercise database with GIF URLs for visual guidance
- Global diet programs replacing regional foods: Mediterranean, High-Protein,
Low-Carb, Anti-Inflammatory, Heart-Healthy, Diabetic-Friendly
- Medical condition-aware nutrition (diabetes, heart, blood pressure adjustments)
- 7-step profile wizard with disability and medical history sections
- Fixed DROP TABLE bug in database.js
- Shopping list supports new ingredient format
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Login/register with JWT auth
- User profile (age, weight, height, goal, country)
- AI trainer agent: 7-day workout programs by goal
- AI dietitian agent: calorie-based meal plans with Turkish cuisine
- Shopping list generator from meal plans
- Modern Turkish UI (SPA)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>