| 1 |
import create from 'zustand' |
| 2 |
import { persist } from 'zustand/middleware' |
| 3 |
import { Taxonomies as TaxonomiesApi } from '@extendify/api/Taxonomies' |
| 4 |
|
| 5 |
export const useTaxonomyStore = create( |
| 6 |
persist( |
| 7 |
(set, get) => ({ |
| 8 |
taxonomies: {}, |
| 9 |
setTaxonomies: (taxonomies) => set({ taxonomies }), |
| 10 |
fetchTaxonomies: async () => { |
| 11 |
let tax = await TaxonomiesApi.get() |
| 12 |
tax = Object.keys(tax).reduce((taxFiltered, key) => { |
| 13 |
taxFiltered[key] = tax[key] |
| 14 |
return taxFiltered |
| 15 |
}, {}) |
| 16 |
if (!Object.keys(tax)?.length) { |
| 17 |
return |
| 18 |
} |
| 19 |
get().setTaxonomies(tax) |
| 20 |
}, |
| 21 |
}), |
| 22 |
{ |
| 23 |
name: 'extendify-taxonomies', |
| 24 |
}, |
| 25 |
), |
| 26 |
) |
| 27 |
|