import 'package:flutter/material.dart'; class AppConstants { // API Configuration // static const String apiBaseUrl = 'http://10.0.2.2:8090'; // Android emulator static const String apiBaseUrl = 'https://slift.patanix.de'; static const String apiVersion = 'v1'; // Wendler 5/3/1 Constants static const double trainingMaxPercentage = 0.9; static const double upperBodyIncrement = 2.5; // kg static const double lowerBodyIncrement = 5.0; // kg // XP System static const int baseXP = 1000; static const double xpMultiplier = 1.25; static const int maxLevel = 100; // XP Rewards static const int workoutCompleteXP = 100; static const double volumeXPRate = 0.01; // XP per kg static const int amrapBonusXPPerRep = 25; static const int prBonusXP = 200; static const int cycleCompleteXP = 500; // Rounding Steps static const double squatRoundingStep = 2.5; static const double calisthenicsRoundingStep = 1.25; // Default Inventory static const double defaultBarWeight = 20.0; static const List defaultPlates = [ 25, 25, 20, 20, 15, 15, 10, 10, 5, 5, 2.5, 2.5, 1.25, 1.25 ]; // Resistance Bands (Color: Resistance in KG approx) // Negative values imply assistance force static const Map defaultBands = { 'Blue': 30.0, 'Green': 20.0, 'Orange': 10.0, 'Red': 5.0, }; // Bodyweight Limits static const double minBodyweight = 40.0; static const double maxBodyweight = 200.0; // Animation Durations static const Duration shortAnimation = Duration(milliseconds: 200); static const Duration mediumAnimation = Duration(milliseconds: 400); static const Duration longAnimation = Duration(milliseconds: 600); // Storage Keys static const String keyAuthToken = 'auth_token'; static const String keyUserId = 'user_id'; static const String keyLastSync = 'last_sync'; static const String keyIsFirstLaunch = 'is_first_launch'; } class ApiEndpoints { static const String login = '/api/collections/users/auth-with-password'; static const String register = '/api/collections/users/records'; static const String sync = '/api/v1/sync'; static const String cycleCreate = '/api/v1/cycle/create'; static const String cycleFinish = '/api/v1/cycle/finish'; static const String cycleCurrent = '/api/v1/cycle/current'; static const String statsHistory = '/api/v1/stats/history'; static const String statsSummary = '/api/v1/stats/summary'; static const String profileBodyweight = '/api/v1/profile/bodyweight'; static const String profileInventory = '/api/v1/profile/inventory'; static const String userUpdate = '/api/collections/users/records'; // + /:id static const String userDelete = '/api/collections/users/records'; // + /:id static const String profileReset = '/api/v1/profile/reset'; } class ExerciseIds { static const String squat = 'squat'; static const String pullup = 'pullup_weighted'; static const String dip = 'dip_weighted'; } class ExerciseNames { static const String squat = 'Back Squat'; static const String pullup = 'Weighted Pull-up'; static const String dip = 'Weighted Dip'; }