diff --git a/resources/js/pages/dashboard.tsx b/resources/js/pages/dashboard.tsx
index beac959..a3b1ebe 100644
--- a/resources/js/pages/dashboard.tsx
+++ b/resources/js/pages/dashboard.tsx
@@ -167,31 +167,7 @@ export default function Dashboard() {
profitLossPercentage,
};
- if (loading) {
- return (
- <>
-
-
- >
- );
- }
-
- // Toggle handlers with cascading behavior
- const handleLedClick = () => {
- const newShowProgressBar = !showProgressBar;
- setShowProgressBar(newShowProgressBar);
- if (!newShowProgressBar) {
- // If hiding progress bar, also hide stats box
- setShowStatsBox(false);
- }
- };
-
- const handleProgressClick = () => {
- setShowStatsBox(!showStatsBox);
- setActiveForm(null)
- };
-
- // Handle onboarding completion
+ // Handle onboarding completion — must be before any early returns (Rules of Hooks)
const handleOnboardingComplete = useCallback(async () => {
const [entriesResponse, priceResponse, milestonesResponse, trackerResponse] = await Promise.all([
fetch('/entries/summary'),
@@ -225,14 +201,39 @@ export default function Dashboard() {
}
if (trackerResponse.ok) {
- const tracker = await trackerResponse.json();
- setCurrentAsset(tracker?.asset ?? null);
- setPriceTrackingEnabled(tracker?.price_tracking_enabled ?? false);
+ const trackerData = await trackerResponse.json();
+ setTracker(trackerData);
+ setCurrentAsset(trackerData?.asset ?? null);
+ setPriceTrackingEnabled(trackerData?.price_tracking_enabled ?? false);
}
setNeedsOnboarding(totalQuantity === 0 || milestonesCount === 0);
}, []);
+ if (loading) {
+ return (
+ <>
+
+
+ >
+ );
+ }
+
+ // Toggle handlers with cascading behavior
+ const handleLedClick = () => {
+ const newShowProgressBar = !showProgressBar;
+ setShowProgressBar(newShowProgressBar);
+ if (!newShowProgressBar) {
+ // If hiding progress bar, also hide stats box
+ setShowStatsBox(false);
+ }
+ };
+
+ const handleProgressClick = () => {
+ setShowStatsBox(!showStatsBox);
+ setActiveForm(null)
+ };
+
// Show onboarding if needed
if (needsOnboarding) {
return (
diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php
index f132673..66247d2 100644
--- a/resources/views/app.blade.php
+++ b/resources/views/app.blade.php
@@ -43,7 +43,7 @@
@routes
@viteReactRefresh
- @vite(['resources/js/app.tsx', "resources/js/pages/{$page['component']}.tsx"])
+ @vite(['resources/js/app.tsx'])
@inertiaHead