fix - TrackerController::show return {exists,tracker} to avoid null/{} ambiguity in JS

This commit is contained in:
myrmidex 2026-05-03 02:38:38 +02:00
parent c73b634b44
commit cdb1e268e4
4 changed files with 8 additions and 8 deletions

View file

@ -17,10 +17,10 @@ public function show(): JsonResponse
$tracker = User::default()->tracker; $tracker = User::default()->tracker;
if (! $tracker) { if (! $tracker) {
return response()->json(null); return response()->json(['exists' => false]);
} }
return response()->json($tracker->load('asset')); return response()->json(['exists' => true, 'tracker' => $tracker->load('asset')]);
} }
public function store(Request $request): JsonResponse public function store(Request $request): JsonResponse

View file

@ -30,7 +30,7 @@ export default function AssetSetupForm({ onSuccess, onCancel }: AssetSetupFormPr
try { try {
const response = await fetch('/tracker'); const response = await fetch('/tracker');
if (response.ok) { if (response.ok) {
const tracker = await response.json(); const { tracker } = await response.json();
if (tracker?.asset) { if (tracker?.asset) {
setData({ setData({
symbol: tracker.asset.symbol || '', symbol: tracker.asset.symbol || '',

View file

@ -76,9 +76,9 @@ export default function OnboardingFlow({ onComplete }: OnboardingFlowProps) {
useEffect(() => { useEffect(() => {
fetch('/tracker') fetch('/tracker')
.then(r => r.ok ? r.json() : null) .then(r => r.ok ? r.json() : null)
.then(tracker => { .then(data => {
if (tracker) { if (data?.tracker) {
setPriceTracking(tracker.price_tracking_enabled ?? false); setPriceTracking(data.tracker.price_tracking_enabled ?? false);
setTrackerCreated(true); setTrackerCreated(true);
} }
}) })

View file

@ -76,8 +76,8 @@ export default function Dashboard() {
} }
if (trackerResponse.ok) { if (trackerResponse.ok) {
const trackerData = await trackerResponse.json(); const { tracker: trackerData } = await trackerResponse.json();
setTracker(trackerData); setTracker(trackerData ?? null);
setCurrentAsset(trackerData?.asset ?? null); setCurrentAsset(trackerData?.asset ?? null);
setPriceTrackingEnabled(trackerData?.price_tracking_enabled ?? false); setPriceTrackingEnabled(trackerData?.price_tracking_enabled ?? false);
} }