3
0
mirror of https://github.com/Qortal/q-shop.git synced 2025-01-30 14:52:20 +00:00

Filter reviews by matching case

This commit is contained in:
QuickMythril 2024-04-08 11:43:17 -04:00
parent e16a9b6294
commit fea2a24217

View File

@ -102,8 +102,11 @@ export const StoreReviews: FC<StoreReviewsProps> = ({
const responseData = await response.json(); const responseData = await response.json();
// Modify resource into data that is more easily used on the front end // Modify resource into data that is more easily used on the front end
const structuredReviewData = responseData.map( const structuredReviewData = responseData.map(
(review: any): StoreReview => { (review: any): StoreReview | null => {
const splitIdentifier = review.identifier.split("-"); const splitIdentifier = review.identifier.split("-");
// Return null if idenfier is not an exact match, because search is not case sensitive
const prefixIdentifier = splitIdentifier.slice(0, splitIdentifier.length - 2).join("-");
if (query !== prefixIdentifier) return null;
return { return {
id: review?.identifier, id: review?.identifier,
name: review?.name, name: review?.name,
@ -114,7 +117,7 @@ export const StoreReviews: FC<StoreReviewsProps> = ({
rating: Number(splitIdentifier[splitIdentifier.length - 1]) / 10 rating: Number(splitIdentifier[splitIdentifier.length - 1]) / 10
}; };
} }
); ).filter((review: StoreReview | null) => review !== null); // Filter out null entries
setHasFetched(true); setHasFetched(true);
// Filter out duplicates by checking if the review id already exists in storeReviews in global redux store // Filter out duplicates by checking if the review id already exists in storeReviews in global redux store