fix: handle plans list API returning array format in usePlanData hook
The /purchaser/plans API returns data as a plain array, but usePlanData
destructured res.data expecting {plans, factories, plan_factories, operator_names}.
This caused the PlanOverview page to render nothing despite receiving data.
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
c641831251
commit
091fc24d90
@ -79,7 +79,15 @@ export function usePlanData({ companyId, pageSize = PAGINATION_CONFIG.defaultPag
|
||||
|
||||
try {
|
||||
const res = await purchaserApi.listPlans({ page, page_size: pageSize });
|
||||
const { plans: planDetails, factories, plan_factories, operator_names } = res.data;
|
||||
const rawData = res.data;
|
||||
|
||||
// API returns plain array when backend doesn't wrap in object
|
||||
const planDetails: PlanDetail[] = Array.isArray(rawData)
|
||||
? rawData
|
||||
: (rawData?.plans || []);
|
||||
const factories: Company[] = Array.isArray(rawData) ? [] : (rawData?.factories || []);
|
||||
const plan_factories: PlanFactory[] = Array.isArray(rawData) ? [] : (rawData?.plan_factories || []);
|
||||
const operator_names: Record<string, string> = Array.isArray(rawData) ? {} : (rawData?.operator_names || {});
|
||||
|
||||
const plansWithSteps = planDetails.map(mapPlanDetail);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user