diff --git a/lib/providers/body_weight.dart b/lib/providers/body_weight.dart
index 82b0ad4d4..46248d4fc 100644
--- a/lib/providers/body_weight.dart
+++ b/lib/providers/body_weight.dart
@@ -38,6 +38,8 @@ class BodyWeightProvider with ChangeNotifier {
     _entries = entries;
   }
 
+  bool wightDataInit = false;
+
   /// Clears all lists
   void clear() {
     _entries = [];
diff --git a/lib/providers/measurement.dart b/lib/providers/measurement.dart
index 7f2c4ee32..2fc0fb52f 100644
--- a/lib/providers/measurement.dart
+++ b/lib/providers/measurement.dart
@@ -40,6 +40,8 @@ class MeasurementProvider with ChangeNotifier {
     _categories = [];
   }
 
+  bool measurementDataInit = false;
+
   /// Finds the category by ID
   MeasurementCategory findCategoryById(int id) {
     return _categories.firstWhere(
diff --git a/lib/providers/nutrition.dart b/lib/providers/nutrition.dart
index 789008a30..4e726b59b 100644
--- a/lib/providers/nutrition.dart
+++ b/lib/providers/nutrition.dart
@@ -52,6 +52,8 @@ class NutritionPlansProvider with ChangeNotifier {
     return [..._plans];
   }
 
+  bool nutritionDataInit = false;
+
   set ingredients(items) {
     _ingredients = items;
   }
diff --git a/lib/providers/workout_plans.dart b/lib/providers/workout_plans.dart
index c5d2406aa..ba496c959 100644
--- a/lib/providers/workout_plans.dart
+++ b/lib/providers/workout_plans.dart
@@ -158,6 +158,8 @@ class WorkoutPlansProvider with ChangeNotifier {
     notifyListeners();
   }
 
+  bool workoutPlansDatainit = false;
+
   /// Fetches a workout plan sparsely, i.e. only with the data on the plan
   /// object itself and no child attributes
   Future<WorkoutPlan> fetchAndSetPlanSparse(int planId) async {
diff --git a/lib/screens/home_tabs_screen.dart b/lib/screens/home_tabs_screen.dart
index f74bc54ea..f1d00f316 100644
--- a/lib/screens/home_tabs_screen.dart
+++ b/lib/screens/home_tabs_screen.dart
@@ -74,23 +74,23 @@ class _HomeTabsScreenState extends State<HomeTabsScreen> with SingleTickerProvid
     final authProvider = context.read<AuthProvider>();
 
     if (!authProvider.dataInit) {
-      final workoutPlansProvider = context.read<WorkoutPlansProvider>();
-      final nutritionPlansProvider = context.read<NutritionPlansProvider>();
-      final exercisesProvider = context.read<ExercisesProvider>();
-      final galleryProvider = context.read<GalleryProvider>();
-      final weightProvider = context.read<BodyWeightProvider>();
-      final measurementProvider = context.read<MeasurementProvider>();
-      final userProvider = context.read<UserProvider>();
+      // final workoutPlansProvider = context.read<WorkoutPlansProvider>();
+      // final nutritionPlansProvider = context.read<NutritionPlansProvider>();
+      // final exercisesProvider = context.read<ExercisesProvider>();
+      // final galleryProvider = context.read<GalleryProvider>();
+
+      // final userProvider = context.read<UserProvider>();
 
       // Base data
       log('Loading base data');
       try {
         await Future.wait([
           authProvider.setServerVersion(),
-          userProvider.fetchAndSetProfile(),
-          workoutPlansProvider.fetchAndSetUnits(),
-          nutritionPlansProvider.fetchIngredientsFromCache(),
-          exercisesProvider.fetchAndSetExercises(),
+          context.read<UserProvider>().fetchAndSetProfile(),
+          context.read<WorkoutPlansProvider>().fetchAndSetUnits(),
+          context.read<NutritionPlansProvider>().fetchIngredientsFromCache(),
+          context.read<ExercisesProvider>().fetchAndSetExercises(),
+          context.read<GalleryProvider>().fetchAndSetGallery(),
         ]);
       } catch (e) {
         log('fire! fire!');
@@ -98,29 +98,29 @@ class _HomeTabsScreenState extends State<HomeTabsScreen> with SingleTickerProvid
       }
 
       // Plans, weight and gallery
-      log('Loading plans, weight, measurements and gallery');
-      await Future.wait([
-        galleryProvider.fetchAndSetGallery(),
-        nutritionPlansProvider.fetchAndSetAllPlansSparse(),
-        workoutPlansProvider.fetchAndSetAllPlansSparse(),
-        weightProvider.fetchAndSetEntries(),
-        measurementProvider.fetchAndSetAllCategoriesAndEntries(),
-      ]);
+      // log('Loading plans, weight, measurements and gallery');
+      // await Future.wait([
+      // galleryProvider.fetchAndSetGallery(),
+      // nutritionPlansProvider.fetchAndSetAllPlansSparse(),
+      // workoutPlansProvider.fetchAndSetAllPlansSparse(),
+      // weightProvider.fetchAndSetEntries(),
+      // measurementProvider.fetchAndSetAllCategoriesAndEntries(),
+      // ]);
 
       // Current nutritional plan
-      log('Loading current nutritional plan');
-      if (nutritionPlansProvider.currentPlan != null) {
-        final plan = nutritionPlansProvider.currentPlan!;
-        await nutritionPlansProvider.fetchAndSetPlanFull(plan.id!);
-      }
-
-      // Current workout plan
-      log('Loading current workout plan');
-      if (workoutPlansProvider.activePlan != null) {
-        final planId = workoutPlansProvider.activePlan!.id!;
-        await workoutPlansProvider.fetchAndSetWorkoutPlanFull(planId);
-        workoutPlansProvider.setCurrentPlan(planId);
-      }
+      // log('Loading current nutritional plan');
+      // if (nutritionPlansProvider.currentPlan != null) {
+      //   final plan = nutritionPlansProvider.currentPlan!;
+      //   await nutritionPlansProvider.fetchAndSetPlanFull(plan.id!);
+      // }
+
+      // // Current workout plan
+      // log('Loading current workout plan');
+      // if (workoutPlansProvider.activePlan != null) {
+      //   final planId = workoutPlansProvider.activePlan!.id!;
+      //   await workoutPlansProvider.fetchAndSetWorkoutPlanFull(planId);
+      //   workoutPlansProvider.setCurrentPlan(planId);
+      // }
     }
 
     authProvider.dataInit = true;
diff --git a/lib/widgets/dashboard/widgets.dart b/lib/widgets/dashboard/widgets.dart
index 9310cd5a4..3ef1826c4 100644
--- a/lib/widgets/dashboard/widgets.dart
+++ b/lib/widgets/dashboard/widgets.dart
@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+import 'dart:developer';
+
 import 'package:carousel_slider/carousel_slider.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_gen/gen_l10n/app_localizations.dart';
@@ -24,6 +26,7 @@ import 'package:intl/intl.dart';
 import 'package:provider/provider.dart';
 import 'package:wger/models/nutrition/nutritional_plan.dart';
 import 'package:wger/models/workouts/workout_plan.dart';
+import 'package:wger/providers/auth.dart';
 import 'package:wger/providers/body_weight.dart';
 import 'package:wger/providers/measurement.dart';
 import 'package:wger/providers/nutrition.dart';
@@ -57,8 +60,24 @@ class _DashboardNutritionWidgetState extends State<DashboardNutritionWidget> {
   @override
   void initState() {
     super.initState();
-    _plan = Provider.of<NutritionPlansProvider>(context, listen: false).currentPlan;
-    _hasContent = _plan != null;
+    _initNutritionData();
+  }
+
+  Future<void> _initNutritionData() async {
+    final nutritionPlansProvider = context.read<NutritionPlansProvider>();
+
+    if (!nutritionPlansProvider.nutritionDataInit) {
+      log('Loading Nutrition plans');
+      await Future.wait([
+        nutritionPlansProvider.fetchAndSetAllPlansSparse(),
+      ]);
+      log('Loading current nutritional plan');
+      if (nutritionPlansProvider.currentPlan != null) {
+        final plan = nutritionPlansProvider.currentPlan!;
+        await nutritionPlansProvider.fetchAndSetPlanFull(plan.id!);
+      }
+      nutritionPlansProvider.nutritionDataInit = true;
+    }
   }
 
   List<Widget> getContent() {
@@ -156,6 +175,8 @@ class _DashboardNutritionWidgetState extends State<DashboardNutritionWidget> {
 
   @override
   Widget build(BuildContext context) {
+    _plan = Provider.of<NutritionPlansProvider>(context, listen: true).currentPlan;
+    _hasContent = _plan != null;
     return Card(
       child: Column(
         children: [
@@ -239,6 +260,24 @@ class DashboardWeightWidget extends StatefulWidget {
 class _DashboardWeightWidgetState extends State<DashboardWeightWidget> {
   late BodyWeightProvider weightEntriesData;
 
+  @override
+  void initState() {
+    // TODO: implement initState
+    super.initState();
+    _initWeightData();
+  }
+
+  Future<void> _initWeightData() async {
+    final weightProvider = context.read<BodyWeightProvider>();
+    if (!weightProvider.wightDataInit) {
+      log('Loading weight');
+      await Future.wait([
+        weightProvider.fetchAndSetEntries(),
+      ]);
+      weightProvider.wightDataInit = true;
+    }
+  }
+
   @override
   Widget build(BuildContext context) {
     weightEntriesData = Provider.of<BodyWeightProvider>(context, listen: false);
@@ -318,6 +357,24 @@ class _DashboardMeasurementWidgetState extends State<DashboardMeasurementWidget>
   int _current = 0;
   final CarouselController _controller = CarouselController();
 
+  @override
+  void initState() {
+    // TODO: implement initState
+    super.initState();
+    _initMeasurementData();
+  }
+
+  Future<void> _initMeasurementData() async {
+    final measurementProvider = context.read<MeasurementProvider>();
+    if (!measurementProvider.measurementDataInit) {
+      log('Loading measurements');
+      await Future.wait([
+        measurementProvider.fetchAndSetAllCategoriesAndEntries(),
+      ]);
+      measurementProvider.measurementDataInit = true;
+    }
+  }
+
   @override
   Widget build(BuildContext context) {
     final provider = Provider.of<MeasurementProvider>(context, listen: false);
@@ -437,8 +494,29 @@ class _DashboardWorkoutWidgetState extends State<DashboardWorkoutWidget> {
   @override
   void initState() {
     super.initState();
-    _workoutPlan = context.read<WorkoutPlansProvider>().activePlan;
-    _hasContent = _workoutPlan != null;
+    _initWorkoutPlansData();
+  }
+
+  Future<void> _initWorkoutPlansData() async {
+    final workoutPlansProvider = context.read<WorkoutPlansProvider>();
+
+    if (!workoutPlansProvider.workoutPlansDatainit) {
+      log('Loading Workout plans');
+      try {
+        await Future.wait([
+          workoutPlansProvider.fetchAndSetAllPlansSparse(),
+        ]);
+      } catch (e, _) {
+        log(e.toString());
+      }
+      log('Loading current workout plan');
+      if (workoutPlansProvider.activePlan != null) {
+        final planId = workoutPlansProvider.activePlan!.id!;
+        await workoutPlansProvider.fetchAndSetWorkoutPlanFull(planId);
+        workoutPlansProvider.setCurrentPlan(planId);
+      }
+      workoutPlansProvider.workoutPlansDatainit = true;
+    }
   }
 
   Widget getTrailing() {
@@ -522,6 +600,8 @@ class _DashboardWorkoutWidgetState extends State<DashboardWorkoutWidget> {
 
   @override
   Widget build(BuildContext context) {
+    _workoutPlan = Provider.of<WorkoutPlansProvider>(context, listen: true).activePlan;
+    _hasContent = _workoutPlan != null;
     return Card(
       child: Column(
         children: [
diff --git a/lib/widgets/measurements/charts.dart b/lib/widgets/measurements/charts.dart
index 66f08c5a8..a772f89d6 100644
--- a/lib/widgets/measurements/charts.dart
+++ b/lib/widgets/measurements/charts.dart
@@ -135,7 +135,7 @@ class _MeasurementChartWidgetFlState extends State<MeasurementChartWidgetFl> {
           color: Theme.of(context).colorScheme.secondary,
           barWidth: 2,
           isStrokeCapRound: true,
-          dotData: const FlDotData(
+          dotData: FlDotData(
             show: true,
           ),
         ),
diff --git a/lib/widgets/nutrition/charts.dart b/lib/widgets/nutrition/charts.dart
index cefc84346..129c45051 100644
--- a/lib/widgets/nutrition/charts.dart
+++ b/lib/widgets/nutrition/charts.dart
@@ -253,17 +253,17 @@ class NutritionalDiaryChartWidgetFlState extends State<NutritionalDiaryChartWidg
                       getTitlesWidget: leftTitles,
                     ),
                   ),
-                  topTitles: const AxisTitles(
+                  topTitles: AxisTitles(
                     sideTitles: SideTitles(showTitles: false),
                   ),
-                  rightTitles: const AxisTitles(
+                  rightTitles: AxisTitles(
                     sideTitles: SideTitles(showTitles: false),
                   ),
                 ),
                 gridData: FlGridData(
                   show: true,
                   checkToShowHorizontalLine: (value) => value % 10 == 0,
-                  getDrawingHorizontalLine: (value) => const FlLine(
+                  getDrawingHorizontalLine: (value) => FlLine(
                     color: Colors.black,
                     strokeWidth: 1,
                   ),
diff --git a/pubspec.lock b/pubspec.lock
index c8ea958d8..d211803b1 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,18 +5,18 @@ packages:
     dependency: transitive
     description:
       name: _fe_analyzer_shared
-      sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a
+      sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051
       url: "https://pub.dev"
     source: hosted
-    version: "61.0.0"
+    version: "64.0.0"
   analyzer:
     dependency: transitive
     description:
       name: analyzer
-      sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562
+      sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893"
       url: "https://pub.dev"
     source: hosted
-    version: "5.13.0"
+    version: "6.2.0"
   android_metadata:
     dependency: "direct main"
     description:
@@ -221,10 +221,10 @@ packages:
     dependency: "direct main"
     description:
       name: collection
-      sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
+      sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
       url: "https://pub.dev"
     source: hosted
-    version: "1.18.0"
+    version: "1.17.2"
   convert:
     dependency: transitive
     description:
@@ -269,10 +269,10 @@ packages:
     dependency: transitive
     description:
       name: dart_style
-      sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55"
+      sha256: abd7625e16f51f554ea244d090292945ec4d4be7bfbaf2ec8cccea568919d334
       url: "https://pub.dev"
     source: hosted
-    version: "2.3.2"
+    version: "2.3.3"
   equatable:
     dependency: "direct main"
     description:
@@ -760,10 +760,10 @@ packages:
     dependency: transitive
     description:
       name: meta
-      sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
+      sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
       url: "https://pub.dev"
     source: hosted
-    version: "1.10.0"
+    version: "1.9.1"
   mime:
     dependency: transitive
     description:
@@ -880,18 +880,18 @@ packages:
     dependency: transitive
     description:
       name: platform
-      sha256: ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102
+      sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76"
       url: "https://pub.dev"
     source: hosted
-    version: "3.1.2"
+    version: "3.1.0"
   plugin_platform_interface:
     dependency: transitive
     description:
       name: plugin_platform_interface
-      sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d
+      sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8
       url: "https://pub.dev"
     source: hosted
-    version: "2.1.6"
+    version: "2.1.7"
   pointer_interceptor:
     dependency: transitive
     description:
@@ -1093,18 +1093,18 @@ packages:
     dependency: transitive
     description:
       name: stack_trace
-      sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
+      sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
       url: "https://pub.dev"
     source: hosted
-    version: "1.11.1"
+    version: "1.11.0"
   stream_channel:
     dependency: transitive
     description:
       name: stream_channel
-      sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
+      sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
       url: "https://pub.dev"
     source: hosted
-    version: "2.1.2"
+    version: "2.1.1"
   stream_transform:
     dependency: transitive
     description:
@@ -1149,10 +1149,10 @@ packages:
     dependency: transitive
     description:
       name: test_api
-      sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
+      sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
       url: "https://pub.dev"
     source: hosted
-    version: "0.6.1"
+    version: "0.6.0"
   timing:
     dependency: transitive
     description:
@@ -1189,10 +1189,10 @@ packages:
     dependency: transitive
     description:
       name: url_launcher_ios
-      sha256: "4ac97281cf60e2e8c5cc703b2b28528f9b50c8f7cebc71df6bdf0845f647268a"
+      sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3
       url: "https://pub.dev"
     source: hosted
-    version: "6.2.0"
+    version: "6.2.1"
   url_launcher_linux:
     dependency: transitive
     description:
@@ -1301,10 +1301,10 @@ packages:
     dependency: transitive
     description:
       name: video_player_avfoundation
-      sha256: fe73d636f82286a3739f5e644f95f09442cacdc436ebbe5436521dc915f3ecac
+      sha256: bc923884640d6dc403050586eb40713cdb8d1d84e6886d8aca50ab04c59124c2
       url: "https://pub.dev"
     source: hosted
-    version: "2.5.1"
+    version: "2.5.2"
   video_player_platform_interface:
     dependency: transitive
     description:
@@ -1325,10 +1325,10 @@ packages:
     dependency: transitive
     description:
       name: vm_service
-      sha256: c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583
+      sha256: c620a6f783fa22436da68e42db7ebbf18b8c44b9a46ab911f666ff09ffd9153f
       url: "https://pub.dev"
     source: hosted
-    version: "11.10.0"
+    version: "11.7.1"
   watcher:
     dependency: transitive
     description:
@@ -1341,10 +1341,10 @@ packages:
     dependency: transitive
     description:
       name: web
-      sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
+      sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
       url: "https://pub.dev"
     source: hosted
-    version: "0.3.0"
+    version: "0.1.4-beta"
   web_socket_channel:
     dependency: transitive
     description:
@@ -1365,10 +1365,10 @@ packages:
     dependency: transitive
     description:
       name: win32
-      sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3"
+      sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f"
       url: "https://pub.dev"
     source: hosted
-    version: "5.0.9"
+    version: "5.1.0"
   xdg_directories:
     dependency: transitive
     description:
@@ -1394,5 +1394,5 @@ packages:
     source: hosted
     version: "3.1.2"
 sdks:
-  dart: ">=3.2.0-194.0.dev <4.0.0"
+  dart: ">=3.1.0 <4.0.0"
   flutter: ">=3.13.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 840833e58..76f0b2770 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -62,6 +62,9 @@ dependencies:
   flex_seed_scheme: ^1.4.0
   flex_color_scheme: ^7.3.1
 
+dependency_overrides:
+  intl: any
+
 dev_dependencies:
   flutter_test:
     sdk: flutter