diff --git a/frontend/src/data/toolsTaxonomy.ts b/frontend/src/data/toolsTaxonomy.ts index cb6b18c0d..a76752b87 100644 --- a/frontend/src/data/toolsTaxonomy.ts +++ b/frontend/src/data/toolsTaxonomy.ts @@ -1,5 +1,6 @@ import { type TFunction } from 'i18next'; import React from 'react'; +import { BaseToolProps } from '../types/tool'; export enum SubcategoryId { SIGNING = 'signing', @@ -24,7 +25,7 @@ export enum ToolCategory { export type ToolRegistryEntry = { icon: React.ReactNode; name: string; - component: React.ComponentType | null; + component: React.ComponentType | null; view: 'sign' | 'security' | 'format' | 'extract' | 'view' | 'merge' | 'pageEditor' | 'convert' | 'redact' | 'split' | 'convert' | 'remove' | 'compress' | 'external'; description: string; category: ToolCategory; diff --git a/frontend/src/data/useTranslatedToolRegistry.tsx b/frontend/src/data/useTranslatedToolRegistry.tsx index 359cf6d35..10f18cf77 100644 --- a/frontend/src/data/useTranslatedToolRegistry.tsx +++ b/frontend/src/data/useTranslatedToolRegistry.tsx @@ -19,9 +19,9 @@ import RemoveCertificateSign from '../tools/RemoveCertificateSign'; // Hook to get the translated tool registry export function useFlatToolRegistry(): ToolRegistry { - const { t } = useTranslation(); - - return { + const { t } = useTranslation(); + + const allTools: ToolRegistry = { // Signing "certSign": { @@ -56,7 +56,7 @@ export function useFlatToolRegistry(): ToolRegistry { subcategory: SubcategoryId.DOCUMENT_SECURITY, maxFiles: -1, endpoints: ["add-password"] - }, + }, "add-watermark": { icon: branding_watermark, name: t("home.watermark.title", "Add Watermark"), @@ -148,8 +148,8 @@ export function useFlatToolRegistry(): ToolRegistry { category: ToolCategory.STANDARD_TOOLS, subcategory: SubcategoryId.VERIFICATION }, - - + + // Document Review "read": { @@ -205,7 +205,7 @@ export function useFlatToolRegistry(): ToolRegistry { component: null, view: "pageEditor", description: t("home.reorganizePages.desc", "Rearrange, duplicate, or delete PDF pages with visual drag-and-drop control."), - category: ToolCategory.STANDARD_TOOLS, + category: ToolCategory.STANDARD_TOOLS, subcategory: SubcategoryId.PAGE_FORMATTING }, "adjust-page-size-scale": { @@ -616,5 +616,13 @@ export function useFlatToolRegistry(): ToolRegistry { category: ToolCategory.RECOMMENDED_TOOLS, subcategory: SubcategoryId.GENERAL }, - }; -} \ No newline at end of file + }; + + const filteredTools = Object.keys(allTools) + .filter(key => allTools[key].component !== null || allTools[key].link) + .reduce((obj, key) => { + obj[key] = allTools[key]; + return obj; + }, {} as ToolRegistry); + return filteredTools; +}