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;
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

View file

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

View file

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

View file

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