Skip to content

Commit

Permalink
Simplify pattern of function selection in useObjectGeometry hook
Browse files Browse the repository at this point in the history
  • Loading branch information
mabhub authored and dtrucs committed Jul 18, 2024
1 parent 122258c commit b4077cc
Showing 1 changed file with 7 additions and 12 deletions.
19 changes: 7 additions & 12 deletions frontend/src/components/Map/hooks/useTrekGeometry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,17 @@ export const useObjectGeometry = (
) => {
const language = useRouter().locale ?? getDefaultLanguage();

const func = () => {
if (type === 'TREK') {
return getTrekGeometryResult;
}
if (type === 'OUTDOOR_SITE') {
return getOutdoorSiteGeometryResult;
}
if (type === 'TOURISTIC_EVENT') {
return getTouristicEventGeometryResult;
}
return getTouristicContentGeometryResult;
const getterByType = {
TREK: getTrekGeometryResult,
OUTDOOR_SITE: getOutdoorSiteGeometryResult,
TOURISTIC_EVENT: getTouristicEventGeometryResult,
TOURISTIC_CONTENT: getTouristicContentGeometryResult,
};
const getter = getterByType[type];

const { data: trekGeometry } = useQuery<GeometryObject, Error>({
queryKey: ['trekPopupResult', type, id, language],
queryFn: () => func()(String(id), language),
queryFn: () => getter?.(String(id), language),
});

return { trekGeometry };
Expand Down

0 comments on commit b4077cc

Please sign in to comment.