refactor: update dependencies and fix code errors to work with new dependency versions

This commit is contained in:
Patryk Hegenberg 2026-01-04 14:39:24 +01:00
parent 32e935b3ec
commit 9ebc70ad27
10 changed files with 259 additions and 144 deletions

View file

@ -32,10 +32,10 @@ class _RegisterScreenState extends ConsumerState<RegisterScreen> {
void _handleRegister() {
if (!_formKey.currentState!.validate()) return;
ref.read(onboardingDataProvider.notifier).update((state) => {
'email': _emailController.text.trim(),
'password': _passwordController.text,
});
ref.read(onboardingDataProvider.notifier).updateData({
'email': _emailController.text.trim(),
'password': _passwordController.text,
});
context.go('/onboarding/welcome');
}

View file

@ -4,10 +4,25 @@ import 'package:go_router/go_router.dart';
import '../../../../core/theme/app_theme.dart';
import '../../../../core/constants/app_constants.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'bodyweight_input_screen.g.dart';
// Provider to store onboarding data
final onboardingDataProvider =
StateProvider<Map<String, dynamic>>((ref) => {});
@riverpod
class OnboardingData extends _$OnboardingData {
@override
Map<String, dynamic> build() => {};
void update(Map<String, dynamic> Function(Map<String, dynamic> state) cb) {
state = cb(state);
}
// 2. Eigene Methode für Updates hinzufügen, um die Syntax im UI sauber zu halten
void updateData(Map<String, dynamic> newValue) {
state = {...state, ...newValue};
}
}
class BodyweightInputScreen extends ConsumerStatefulWidget {
const BodyweightInputScreen({super.key});
@ -17,17 +32,15 @@ class BodyweightInputScreen extends ConsumerStatefulWidget {
_BodyweightInputScreenState();
}
class _BodyweightInputScreenState
extends ConsumerState<BodyweightInputScreen> {
class _BodyweightInputScreenState extends ConsumerState<BodyweightInputScreen> {
double _bodyweight = 80.0;
bool _useKg = true;
void _handleContinue() {
// Store bodyweight
ref.read(onboardingDataProvider.notifier).update((state) => {
...state,
'bodyweight': _bodyweight,
});
ref.read(onboardingDataProvider.notifier).updateData({
'bodyweight': _bodyweight,
});
context.go('/onboarding/strength-test');
}
@ -143,4 +156,3 @@ class _BodyweightInputScreenState
);
}
}

View file

@ -0,0 +1,59 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'bodyweight_input_screen.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(OnboardingData)
final onboardingDataProvider = OnboardingDataProvider._();
final class OnboardingDataProvider
extends $NotifierProvider<OnboardingData, Map<String, dynamic>> {
OnboardingDataProvider._()
: super(
from: null,
argument: null,
retry: null,
name: r'onboardingDataProvider',
isAutoDispose: true,
dependencies: null,
$allTransitiveDependencies: null,
);
@override
String debugGetCreateSourceHash() => _$onboardingDataHash();
@$internal
@override
OnboardingData create() => OnboardingData();
/// {@macro riverpod.override_with_value}
Override overrideWithValue(Map<String, dynamic> value) {
return $ProviderOverride(
origin: this,
providerOverride: $SyncValueProvider<Map<String, dynamic>>(value),
);
}
}
String _$onboardingDataHash() => r'78ff3d131a0d60e620aad25f25e1ee175d06aa89';
abstract class _$OnboardingData extends $Notifier<Map<String, dynamic>> {
Map<String, dynamic> build();
@$mustCallSuper
@override
void runBuild() {
final ref = this.ref as $Ref<Map<String, dynamic>, Map<String, dynamic>>;
final element = ref.element as $ClassProviderElement<
AnyNotifier<Map<String, dynamic>, Map<String, dynamic>>,
Map<String, dynamic>,
Object?,
Object?>;
element.handleCreate(ref, build);
}
}

View file

@ -102,10 +102,9 @@ class _InventorySetupScreenState extends ConsumerState<InventorySetupScreen> {
'bands': bandsList,
};
ref.read(onboardingDataProvider.notifier).update((state) => {
...state,
'inventory_settings': inventorySettings,
});
ref.read(onboardingDataProvider.notifier).updateData({
'inventory_settings': inventorySettings,
});
context.push('/onboarding/avatar');
}

View file

@ -103,11 +103,10 @@ class _StrengthTestScreenState extends ConsumerState<StrengthTestScreen> {
'push': _canDoDip ? 'dip' : 'bench',
};
ref.read(onboardingDataProvider.notifier).update((state) => {
...state,
'training_maxes': _calculatedTMs,
'exercise_variants': variants,
});
ref.read(onboardingDataProvider.notifier).updateData({
'training_maxes': _calculatedTMs,
'exercise_variants': variants,
});
context.go('/onboarding/inventory');
}

View file

@ -5,7 +5,7 @@ part 'exercise.freezed.dart';
part 'exercise.g.dart';
@freezed
class Exercise with _$Exercise {
abstract class Exercise with _$Exercise {
const factory Exercise({
required String exerciseId,
required String exerciseName,

View file

@ -4,7 +4,7 @@ part 'training_maxes.freezed.dart';
part 'training_maxes.g.dart';
@freezed
class TrainingMaxes with _$TrainingMaxes {
abstract class TrainingMaxes with _$TrainingMaxes {
const factory TrainingMaxes({
@Default(0.0) double squat,
@Default(0.0) double pullup,
@ -14,4 +14,3 @@ class TrainingMaxes with _$TrainingMaxes {
factory TrainingMaxes.fromJson(Map<String, dynamic> json) =>
_$TrainingMaxesFromJson(json);
}

View file

@ -4,7 +4,7 @@ part 'workout_set.freezed.dart';
part 'workout_set.g.dart';
@freezed
class WorkoutSet with _$WorkoutSet {
abstract class WorkoutSet with _$WorkoutSet {
const factory WorkoutSet({
@Default(1) int setNumber,
@Default(0) int targetPercentage,
@ -20,4 +20,3 @@ class WorkoutSet with _$WorkoutSet {
factory WorkoutSet.fromJson(Map<String, dynamic> json) =>
_$WorkoutSetFromJson(json);
}