Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | 1x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x | import { useTranslations } from 'next-intl';
import { useMemo } from 'react';
import {
useAllergens,
useCategories,
useCostLevels,
useCuisines,
useDietaryFlags,
useEquipment,
useLabels,
useLevels,
useMetadataLoaded,
useMetadataLoading,
useServingUnits,
useUnits,
} from '@/lib/store/metadata';
import { toCleanedOptions } from '../utils';
export const useRecipeMetadata = () => {
const tMisc = useTranslations('misc');
/* Metadata from Redux store */
const categoriesFromStore = useCategories();
const levelsFromStore = useLevels();
const labelsFromStore = useLabels();
const unitsFromStore = useUnits();
const cuisinesFromStore = useCuisines();
const servingUnitsFromStore = useServingUnits();
const dietaryFlagsFromStore = useDietaryFlags();
const allergensFromStore = useAllergens();
const equipmentFromStore = useEquipment();
const costLevelsFromStore = useCostLevels();
const metadataLoading = useMetadataLoading();
const metadataLoaded = useMetadataLoaded();
const categories = useMemo(
() => toCleanedOptions(categoriesFromStore, tMisc),
[categoriesFromStore, tMisc],
);
const levels = useMemo(
() => toCleanedOptions(levelsFromStore, tMisc),
[levelsFromStore, tMisc],
);
const labels = useMemo(
() => toCleanedOptions(labelsFromStore, tMisc),
[labelsFromStore, tMisc],
);
const unitOptions = useMemo(
() => toCleanedOptions(unitsFromStore, tMisc),
[unitsFromStore, tMisc],
);
const cuisines = useMemo(
() => toCleanedOptions(cuisinesFromStore, tMisc),
[cuisinesFromStore, tMisc],
);
const servingUnits = useMemo(
() => toCleanedOptions(servingUnitsFromStore, tMisc),
[servingUnitsFromStore, tMisc],
);
const dietaryFlags = useMemo(
() => toCleanedOptions(dietaryFlagsFromStore, tMisc),
[dietaryFlagsFromStore, tMisc],
);
const allergens = useMemo(
() => toCleanedOptions(allergensFromStore, tMisc),
[allergensFromStore, tMisc],
);
const equipment = useMemo(
() => toCleanedOptions(equipmentFromStore, tMisc),
[equipmentFromStore, tMisc],
);
const costLevels = useMemo(
() => toCleanedOptions(costLevelsFromStore, tMisc),
[costLevelsFromStore, tMisc],
);
return {
categories,
levels,
labels,
unitOptions,
cuisines,
servingUnits,
dietaryFlags,
allergens,
equipment,
costLevels,
metadataLoading,
metadataLoaded,
};
};
|