mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
fix: load filters independently — one API failure no longer blocks others
Promise.all was used for tariffs, promo groups, campaigns, and partners. If any one endpoint failed (e.g., partners not configured), all four setCampaigns/setPartners/etc calls were skipped. Now each loads independently.
This commit is contained in:
@@ -1563,25 +1563,24 @@ export default function AdminBulkActions() {
|
||||
loadUsers();
|
||||
}, [loadUsers]);
|
||||
|
||||
// Load tariffs, promo groups, campaigns, and partners once
|
||||
// Load tariffs, promo groups, campaigns, and partners once (independent — one failure won't block others)
|
||||
useEffect(() => {
|
||||
const load = async () => {
|
||||
try {
|
||||
const [tariffData, pgData, campaignData, partnerData] = await Promise.all([
|
||||
tariffsApi.getTariffs(true),
|
||||
promocodesApi.getPromoGroups({ limit: 200 }),
|
||||
campaignsApi.getCampaigns(true, 0, 200),
|
||||
partnerApi.getPartners({ limit: 200 }),
|
||||
]);
|
||||
setTariffs(tariffData.tariffs);
|
||||
setPromoGroups(pgData.items);
|
||||
setCampaigns(campaignData.campaigns);
|
||||
setPartners(partnerData.items);
|
||||
} catch {
|
||||
// silently fail
|
||||
}
|
||||
};
|
||||
load();
|
||||
tariffsApi
|
||||
.getTariffs(true)
|
||||
.then((d) => setTariffs(d.tariffs))
|
||||
.catch(() => {});
|
||||
promocodesApi
|
||||
.getPromoGroups({ limit: 200 })
|
||||
.then((d) => setPromoGroups(d.items))
|
||||
.catch(() => {});
|
||||
campaignsApi
|
||||
.getCampaigns(true, 0, 200)
|
||||
.then((d) => setCampaigns(d.campaigns))
|
||||
.catch(() => {});
|
||||
partnerApi
|
||||
.getPartners({ limit: 200 })
|
||||
.then((d) => setPartners(d.items))
|
||||
.catch(() => {});
|
||||
}, []);
|
||||
|
||||
// ---- Handlers ----
|
||||
|
||||
Reference in New Issue
Block a user