Filter out expiring ads

environments/review-expiring-a-r9mfta/deployments/849
Alex Gleason 2022-08-26 09:48:49 -05:00
rodzic c29bf4040a
commit f4af1687bf
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 7211D1F99744FBB7
3 zmienionych plików z 16 dodań i 1 usunięć

Wyświetl plik

@ -20,6 +20,8 @@ interface Ad {
card: Card,
/** Impression URL to fetch when displaying the ad. */
impression?: string,
/** Time when the ad expires and should no longer be displayed. */
expires?: Date,
}
/** Gets the current provider based on config. */

Wyświetl plik

@ -43,6 +43,7 @@ const RumbleAdProvider: AdProvider = {
image: item.asset,
url: item.click,
}),
expires: new Date(item.expires * 1000),
}));
}
}

Wyświetl plik

@ -17,7 +17,19 @@ export default function useAds() {
});
};
return useQuery<Ad[]>(['ads'], getAds, {
const result = useQuery<Ad[]>(['ads'], getAds, {
placeholderData: [],
});
// Filter out expired ads.
const data = result.data?.filter(ad => {
const now = new Date();
const isExpired = ad.expires && (now.getTime() > ad.expires.getTime());
return !isExpired;
});
return {
...result,
data,
};
}