diff --git a/src/tools/tools.store.ts b/src/tools/tools.store.ts index d952b7cb..86ef2050 100644 --- a/src/tools/tools.store.ts +++ b/src/tools/tools.store.ts @@ -14,6 +14,7 @@ export const useToolStore = defineStore('tools', () => { return ({ ...tool, + path: tool.path, name: t(`tools.${toolI18nKey}.title`, tool.name), description: t(`tools.${toolI18nKey}.description`, tool.description), category: t(`tools.categories.${tool.category.toLowerCase()}`, tool.category), @@ -23,8 +24,9 @@ export const useToolStore = defineStore('tools', () => { const toolsByCategory = computed(() => { return _.chain(tools.value) .groupBy('category') - .map((components, name) => ({ + .map((components, name, path) => ({ name, + path, components, })) .value(); @@ -32,7 +34,7 @@ export const useToolStore = defineStore('tools', () => { const favoriteTools = computed(() => { return favoriteToolsName.value - .map(favoriteName => tools.value.find(({ name }) => name === favoriteName)) + .map(favoriteName => tools.value.find(({ name, path }) => name === favoriteName || path === favoriteName)) .filter(Boolean) as ToolWithCategory[]; // cast because .filter(Boolean) does not remove undefined from type }); @@ -43,15 +45,16 @@ export const useToolStore = defineStore('tools', () => { newTools: computed(() => tools.value.filter(({ isNew }) => isNew)), addToolToFavorites({ tool }: { tool: MaybeRef }) { - favoriteToolsName.value.push(get(tool).name); + favoriteToolsName.value.push(get(tool).path); }, removeToolFromFavorites({ tool }: { tool: MaybeRef }) { - favoriteToolsName.value = favoriteToolsName.value.filter(name => get(tool).name !== name); + favoriteToolsName.value = favoriteToolsName.value.filter(name => get(tool).name !== name && get(tool).path !== name); }, isToolFavorite({ tool }: { tool: MaybeRef }) { - return favoriteToolsName.value.includes(get(tool).name); + return favoriteToolsName.value.includes(get(tool).name) + || favoriteToolsName.value.includes(get(tool).path); }, }; });