update tool registry to order them as they appear in the nav bar

This commit is contained in:
EthanHealy01 2025-08-13 15:18:33 +01:00
parent 3c2524183c
commit b3013647b9

View File

@ -29,6 +29,7 @@ export type ToolRegistry = {
* Quick reference helpers are provided below for convenience. * Quick reference helpers are provided below for convenience.
*/ */
// Ordered list used elsewhere for display ordering // Ordered list used elsewhere for display ordering
// Subcategory display order (top to bottom, left to right)
export const SUBCATEGORY_ORDER: string[] = [ export const SUBCATEGORY_ORDER: string[] = [
'Signing', 'Signing',
'Document Security', 'Document Security',
@ -38,39 +39,101 @@ export const SUBCATEGORY_ORDER: string[] = [
'Extraction', 'Extraction',
'Removal', 'Removal',
'Automation', 'Automation',
'General', // for now, this is the same as quick access, until we add suggested tools & favorites & whatnot 'General',
'Advanced Formatting', 'Advanced Formatting',
'Developer Tools', 'Developer Tools',
]; ];
// Color coding for subcategories (loosely resembling the v1 color palette)
export const SUBCATEGORY_COLOR_MAP: Record<string, string> = {
// Security & Signing (pink)
'Signing': '#FF7892',
'Document Security': '#FF7892',
// Review / Verification (blue-green)
'Verification': '#1BB1D4',
'Document Review': '#48BD54',
// Organize / Page operations (purple/organize + blue accents)
'Page Formatting': '#7882FF',
'Removal': '#7882FF',
'Extraction': '#1BB1D4',
// Automation / General quick actions (green)
'Automation': '#69DC95',
'General': '#69DC95',
// Advanced buckets (red family)
'Advanced Formatting': '#F55454',
'Developer Tools': '#F55454',
};
export const getSubcategoryColor = (subcategory?: string | null): string => {
if (!subcategory) return '#7882FF';
return SUBCATEGORY_COLOR_MAP[subcategory] || '#7882FF';
};
// Grouped structure by subcategory (ordered by SUBCATEGORY_ORDER)
export type SubcategoryGroup = {
name: string;
color: string;
tools: (ToolRegistryEntry & { id: string })[];
};
export const getAllToolsBySubcategoryOrdered = (): SubcategoryGroup[] => {
const entries: Array<[string, ToolRegistryEntry]> = Object.entries(flatToolRegistryMap);
const grouping: Record<string, SubcategoryGroup> = {};
for (const [id, tool] of entries) {
const sub = tool.subcategory ?? 'General';
if (!grouping[sub]) {
grouping[sub] = {
name: sub,
color: getSubcategoryColor(sub),
tools: [],
};
}
grouping[sub].tools.push({ id, ...tool });
}
// Order tools within each subcategory alphabetically by name (display key)
Object.values(grouping).forEach(group => {
group.tools.sort((a, b) => a.name.localeCompare(b.name));
});
// Return groups ordered by SUBCATEGORY_ORDER
const ordered: SubcategoryGroup[] = [];
SUBCATEGORY_ORDER.forEach(sub => {
if (grouping[sub]) ordered.push(grouping[sub]);
});
// Append any subcategories not explicitly listed
Object.keys(grouping)
.filter(name => !SUBCATEGORY_ORDER.includes(name))
.sort((a, b) => a.localeCompare(b))
.forEach(name => ordered.push(grouping[name]));
return ordered;
};
export const flatToolRegistryMap: ToolRegistry = { export const flatToolRegistryMap: ToolRegistry = {
"add-attachments": {
icon: <span className="material-symbols-rounded">attachment</span>,
name: "home.attachments.title", // Signing
"certSign": {
icon: <span className="material-symbols-rounded">workspace_premium</span>,
name: "home.certSign.title",
component: null, component: null,
view: "format", view: "sign",
description: "home.attachments.desc", description: "home.certSign.desc",
category: "Standard Tools", category: "Standard Tools",
subcategory: "Page Formatting", subcategory: "Signing"
}, },
"add-image": { "sign": {
icon: <span className="material-symbols-rounded">image</span>, icon: <span className="material-symbols-rounded">signature</span>,
name: "home.addImage.title", name: "home.sign.title",
component: null, component: null,
view: "format", view: "sign",
description: "home.addImage.desc", description: "home.sign.desc",
category: "Advanced Tools",
subcategory: "Advanced Formatting"
},
"add-page-numbers": {
icon: <span className="material-symbols-rounded">123</span>,
name: "home.add-page-numbers.title",
component: null,
view: "format",
description: "home.add-page-numbers.desc",
category: "Standard Tools", category: "Standard Tools",
subcategory: "Page Formatting" subcategory: "Signing"
}, },
// Document Security
"add-password": { "add-password": {
icon: <span className="material-symbols-rounded">password</span>, icon: <span className="material-symbols-rounded">password</span>,
name: "home.addPassword.title", name: "home.addPassword.title",
@ -80,15 +143,6 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Standard Tools", category: "Standard Tools",
subcategory: "Document Security" subcategory: "Document Security"
}, },
"add-stamp": {
icon: <span className="material-symbols-rounded">approval</span>,
name: "home.AddStampRequest.title",
component: null,
view: "format",
description: "home.AddStampRequest.desc",
category: "Standard Tools",
subcategory: "Document Security"
},
"add-watermark": { "add-watermark": {
icon: <span className="material-symbols-rounded">branding_watermark</span>, icon: <span className="material-symbols-rounded">branding_watermark</span>,
name: "home.watermark.title", name: "home.watermark.title",
@ -98,68 +152,85 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Standard Tools", category: "Standard Tools",
subcategory: "Document Security" subcategory: "Document Security"
}, },
"adjust-colors-contrast": { "add-stamp": {
icon: <span className="material-symbols-rounded">palette</span>, icon: <span className="material-symbols-rounded">approval</span>,
name: "home.adjust-contrast.title", name: "home.AddStampRequest.title",
component: null, component: null,
view: "format", view: "format",
description: "home.adjust-contrast.desc", description: "home.AddStampRequest.desc",
category: "Advanced Tools",
subcategory: "Advanced Formatting"
},
"adjust-page-size-scale": {
icon: <span className="material-symbols-rounded">crop_free</span>,
name: "home.scalePages.title",
component: null,
view: "format",
description: "home.scalePages.desc",
category: "Standard Tools", category: "Standard Tools",
subcategory: "Page Formatting" subcategory: "Document Security"
}, },
"auto-rename-pdf-file": { "sanitize": {
icon: <span className="material-symbols-rounded">match_word</span>, icon: <span className="material-symbols-rounded">sanitizer</span>,
name: "home.auto-rename.title", name: "home.sanitizePdf.title",
component: null, component: null,
view: "format", view: "security",
description: "home.auto-rename.desc", description: "home.sanitizePdf.desc",
category: "Advanced Tools",
subcategory: "Automation"
},
"auto-split-by-size-count": {
icon: <span className="material-symbols-rounded">content_cut</span>,
name: "home.autoSizeSplitPDF.title",
component: null,
view: "format",
description: "home.autoSizeSplitPDF.desc",
category: "Advanced Tools",
subcategory: "Automation"
},
"auto-split-pages": {
icon: <span className="material-symbols-rounded">split_scene_right</span>,
name: "home.autoSplitPDF.title",
component: null,
view: "format",
description: "home.autoSplitPDF.desc",
category: "Advanced Tools",
subcategory: "Automation"
},
"automate": {
icon: <span className="material-symbols-rounded">automation</span>,
name: "home.automate.title",
component: null,
view: "format",
description: "home.automate.desc",
category: "Advanced Tools",
subcategory: "Automation"
},
"certSign": {
icon: <span className="material-symbols-rounded">workspace_premium</span>,
name: "home.certSign.title",
component: null,
view: "sign",
description: "home.certSign.desc",
category: "Standard Tools", category: "Standard Tools",
subcategory: "Signing" subcategory: "Document Security"
},
"flatten": {
icon: <span className="material-symbols-rounded">layers_clear</span>,
name: "home.flatten.title",
component: null,
view: "format",
description: "home.flatten.desc",
category: "Standard Tools",
subcategory: "Document Security"
},
"unlock-pdf-forms": {
icon: <span className="material-symbols-rounded">preview_off</span>,
name: "home.unlockPDFForms.title",
component: null,
view: "security",
description: "home.unlockPDFForms.desc",
category: "Standard Tools",
subcategory: "Document Security"
},
"manage-certificates": {
icon: <span className="material-symbols-rounded">license</span>,
name: "home.manageCertificates.title",
component: null,
view: "security",
description: "home.manageCertificates.desc",
category: "Standard Tools",
subcategory: "Document Security"
},
// Verification
"get-all-info-on-pdf": {
icon: <span className="material-symbols-rounded">fact_check</span>,
name: "home.getPdfInfo.title",
component: null,
view: "extract",
description: "home.getPdfInfo.desc",
category: "Standard Tools",
subcategory: "Verification"
},
"validate-pdf-signature": {
icon: <span className="material-symbols-rounded">verified</span>,
name: "home.validateSignature.title",
component: null,
view: "security",
description: "home.validateSignature.desc",
category: "Standard Tools",
subcategory: "Verification"
},
// Document Review
"read": {
icon: <span className="material-symbols-rounded">article</span>,
name: "home.read.title",
component: null,
view: "view",
description: "home.read.desc",
category: "Standard Tools",
subcategory: "Document Review"
}, },
"change-metadata": { "change-metadata": {
icon: <span className="material-symbols-rounded">assignment</span>, icon: <span className="material-symbols-rounded">assignment</span>,
@ -179,33 +250,10 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Standard Tools", category: "Standard Tools",
subcategory: "Document Review" subcategory: "Document Review"
}, },
"compare": {
icon: <span className="material-symbols-rounded">compare</span>,
name: "home.compare.title", // Page Formatting
component: null,
view: "format",
description: "home.compare.desc",
category: "Recommended Tools",
subcategory: null
},
"compressPdfs": {
icon: <span className="material-symbols-rounded">zoom_in_map</span>,
name: "home.compressPdfs.title",
component: CompressPdfPanel,
view: "compress",
description: "home.compressPdfs.desc",
category: "Recommended Tools",
subcategory: null
},
"convert": {
icon: <span className="material-symbols-rounded">sync_alt</span>,
name: "home.fileToPDF.title",
component: ConvertPanel,
view: "convert",
description: "home.fileToPDF.desc",
category: "Recommended Tools",
subcategory: null
},
"cropPdf": { "cropPdf": {
icon: <span className="material-symbols-rounded">crop</span>, icon: <span className="material-symbols-rounded">crop</span>,
name: "home.crop.title", name: "home.crop.title",
@ -215,77 +263,50 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Standard Tools", category: "Standard Tools",
subcategory: "Page Formatting" subcategory: "Page Formatting"
}, },
"detect-split-scanned-photos": { "rotate": {
icon: <span className="material-symbols-rounded">scanner</span>, icon: <span className="material-symbols-rounded">rotate_right</span>,
name: "home.ScannerImageSplit.title", name: "home.rotate.title",
component: null, component: null,
view: "format", view: "format",
description: "home.ScannerImageSplit.desc", description: "home.rotate.desc",
category: "Advanced Tools", category: "Standard Tools",
subcategory: "Advanced Formatting" subcategory: "Page Formatting"
}, },
"edit-table-of-contents": { "splitPdf": {
icon: <span className="material-symbols-rounded">bookmark_add</span>, icon: <span className="material-symbols-rounded">content_cut</span>,
name: "home.editTableOfContents.title", name: "home.split.title",
component: SplitPdfPanel,
view: "split",
description: "home.split.desc",
category: "Standard Tools",
subcategory: "Page Formatting"
},
"reorganize-pages": {
icon: <span className="material-symbols-rounded">move_down</span>,
name: "home.reorganizePages.title",
component: null,
view: "pageEditor",
description: "home.reorganizePages.desc",
category: "Standard Tools",
subcategory: "Page Formatting"
},
"adjust-page-size-scale": {
icon: <span className="material-symbols-rounded">crop_free</span>,
name: "home.scalePages.title",
component: null, component: null,
view: "format", view: "format",
description: "home.editTableOfContents.desc", description: "home.scalePages.desc",
category: "Advanced Tools",
subcategory: "Advanced Formatting"
},
"extract-images": {
icon: <span className="material-symbols-rounded">filter</span>,
name: "home.extractImages.title",
component: null,
view: "extract",
description: "home.extractImages.desc",
category: "Standard Tools", category: "Standard Tools",
subcategory: "Extraction" subcategory: "Page Formatting"
}, },
"extract-pages": { "add-page-numbers": {
icon: <span className="material-symbols-rounded">upload</span>, icon: <span className="material-symbols-rounded">123</span>,
name: "home.extractPage.title", name: "home.add-page-numbers.title",
component: null,
view: "extract",
description: "home.extractPage.desc",
category: "Standard Tools",
subcategory: "Extraction"
},
"flatten": {
icon: <span className="material-symbols-rounded">layers_clear</span>,
name: "home.flatten.title",
component: null, component: null,
view: "format", view: "format",
description: "home.flatten.desc", description: "home.add-page-numbers.desc",
category: "Standard Tools", category: "Standard Tools",
subcategory: "Document Security" subcategory: "Page Formatting"
},
"get-all-info-on-pdf": {
icon: <span className="material-symbols-rounded">fact_check</span>,
name: "home.getPdfInfo.title",
component: null,
view: "extract",
description: "home.getPdfInfo.desc",
category: "Standard Tools",
subcategory: "Verification"
},
"manage-certificates": {
icon: <span className="material-symbols-rounded">license</span>,
name: "home.manageCertificates.title",
component: null,
view: "security",
description: "home.manageCertificates.desc",
category: "Standard Tools",
subcategory: "Document Security"
},
"mergePdfs": {
icon: <span className="material-symbols-rounded">library_add</span>,
name: "home.merge.title",
component: null,
view: "merge",
description: "home.merge.desc",
category: "Recommended Tools",
subcategory: null
}, },
"multi-page-layout": { "multi-page-layout": {
icon: <span className="material-symbols-rounded">dashboard</span>, icon: <span className="material-symbols-rounded">dashboard</span>,
@ -296,51 +317,50 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Standard Tools", category: "Standard Tools",
subcategory: "Page Formatting" subcategory: "Page Formatting"
}, },
"multi-tool": { "single-large-page": {
icon: <span className="material-symbols-rounded">dashboard_customize</span>, icon: <span className="material-symbols-rounded">looks_one</span>,
name: "home.multiTool.title", name: "home.PdfToSinglePage.title",
component: null,
view: "pageEditor",
description: "home.multiTool.desc",
category: "Recommended Tools",
subcategory: null
},
"ocr": {
icon: <span className="material-symbols-rounded">quick_reference_all</span>,
name: "home.ocr.title",
component: OCRPanel,
view: "convert",
description: "home.ocr.desc",
category: "Recommended Tools",
subcategory: null
},
"overlay-pdfs": {
icon: <span className="material-symbols-rounded">layers</span>,
name: "home.overlay-pdfs.title",
component: null, component: null,
view: "format", view: "format",
description: "home.overlay-pdfs.desc", description: "home.PdfToSinglePage.desc",
category: "Advanced Tools",
subcategory: "Advanced Formatting"
},
"read": {
icon: <span className="material-symbols-rounded">article</span>,
name: "home.read.title",
component: null,
view: "view",
description: "home.read.desc",
category: "Standard Tools", category: "Standard Tools",
subcategory: "Document Review" subcategory: "Page Formatting"
}, },
"redact": { "add-attachments": {
icon: <span className="material-symbols-rounded">visibility_off</span>, icon: <span className="material-symbols-rounded">attachment</span>,
name: "home.redact.title", name: "home.attachments.title",
component: null, component: null,
view: "redact", view: "format",
description: "home.redact.desc", description: "home.attachments.desc",
category: "Recommended Tools", category: "Standard Tools",
subcategory: null subcategory: "Page Formatting",
}, },
// Extraction
"extract-pages": {
icon: <span className="material-symbols-rounded">upload</span>,
name: "home.extractPage.title",
component: null,
view: "extract",
description: "home.extractPage.desc",
category: "Standard Tools",
subcategory: "Extraction"
},
"extract-images": {
icon: <span className="material-symbols-rounded">filter</span>,
name: "home.extractImages.title",
component: null,
view: "extract",
description: "home.extractImages.desc",
category: "Standard Tools",
subcategory: "Extraction"
},
// Removal
"remove": { "remove": {
icon: <span className="material-symbols-rounded">delete</span>, icon: <span className="material-symbols-rounded">delete</span>,
name: "home.removePages.title", name: "home.removePages.title",
@ -350,15 +370,6 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Standard Tools", category: "Standard Tools",
subcategory: "Removal" subcategory: "Removal"
}, },
"remove-annotations": {
icon: <span className="material-symbols-rounded">thread_unread</span>,
name: "home.removeAnnotations.title",
component: null,
view: "remove",
description: "home.removeAnnotations.desc",
category: "Standard Tools",
subcategory: "Removal"
},
"remove-blank-pages": { "remove-blank-pages": {
icon: <span className="material-symbols-rounded">scan_delete</span>, icon: <span className="material-symbols-rounded">scan_delete</span>,
name: "home.removeBlanks.title", name: "home.removeBlanks.title",
@ -368,12 +379,12 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Standard Tools", category: "Standard Tools",
subcategory: "Removal" subcategory: "Removal"
}, },
"remove-certificate-sign": { "remove-annotations": {
icon: <span className="material-symbols-rounded">remove_moderator</span>, icon: <span className="material-symbols-rounded">thread_unread</span>,
name: "home.removeCertSign.title", name: "home.removeAnnotations.title",
component: null, component: null,
view: "security", view: "remove",
description: "home.removeCertSign.desc", description: "home.removeAnnotations.desc",
category: "Standard Tools", category: "Standard Tools",
subcategory: "Removal" subcategory: "Removal"
}, },
@ -395,6 +406,68 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Standard Tools", category: "Standard Tools",
subcategory: "Removal" subcategory: "Removal"
}, },
"remove-certificate-sign": {
icon: <span className="material-symbols-rounded">remove_moderator</span>,
name: "home.removeCertSign.title",
component: null,
view: "security",
description: "home.removeCertSign.desc",
category: "Standard Tools",
subcategory: "Removal"
},
// Automation
"automate": {
icon: <span className="material-symbols-rounded">automation</span>,
name: "home.automate.title",
component: null,
view: "format",
description: "home.automate.desc",
category: "Advanced Tools",
subcategory: "Automation"
},
"auto-rename-pdf-file": {
icon: <span className="material-symbols-rounded">match_word</span>,
name: "home.auto-rename.title",
component: null,
view: "format",
description: "home.auto-rename.desc",
category: "Advanced Tools",
subcategory: "Automation"
},
"auto-split-pages": {
icon: <span className="material-symbols-rounded">split_scene_right</span>,
name: "home.autoSplitPDF.title",
component: null,
view: "format",
description: "home.autoSplitPDF.desc",
category: "Advanced Tools",
subcategory: "Automation"
},
"auto-split-by-size-count": {
icon: <span className="material-symbols-rounded">content_cut</span>,
name: "home.autoSizeSplitPDF.title",
component: null,
view: "format",
description: "home.autoSizeSplitPDF.desc",
category: "Advanced Tools",
subcategory: "Automation"
},
// Advanced Formatting
"adjust-colors-contrast": {
icon: <span className="material-symbols-rounded">palette</span>,
name: "home.adjust-contrast.title",
component: null,
view: "format",
description: "home.adjust-contrast.desc",
category: "Advanced Tools",
subcategory: "Advanced Formatting"
},
"repair": { "repair": {
icon: <span className="material-symbols-rounded">build</span>, icon: <span className="material-symbols-rounded">build</span>,
name: "home.repair.title", name: "home.repair.title",
@ -404,6 +477,24 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Advanced Tools", category: "Advanced Tools",
subcategory: "Advanced Formatting" subcategory: "Advanced Formatting"
}, },
"detect-split-scanned-photos": {
icon: <span className="material-symbols-rounded">scanner</span>,
name: "home.ScannerImageSplit.title",
component: null,
view: "format",
description: "home.ScannerImageSplit.desc",
category: "Advanced Tools",
subcategory: "Advanced Formatting"
},
"overlay-pdfs": {
icon: <span className="material-symbols-rounded">layers</span>,
name: "home.overlay-pdfs.title",
component: null,
view: "format",
description: "home.overlay-pdfs.desc",
category: "Advanced Tools",
subcategory: "Advanced Formatting"
},
"replace-and-invert-color": { "replace-and-invert-color": {
icon: <span className="material-symbols-rounded">format_color_fill</span>, icon: <span className="material-symbols-rounded">format_color_fill</span>,
name: "home.replaceColorPdf.title", name: "home.replaceColorPdf.title",
@ -413,32 +504,23 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Advanced Tools", category: "Advanced Tools",
subcategory: "Advanced Formatting" subcategory: "Advanced Formatting"
}, },
"reorganize-pages": { "add-image": {
icon: <span className="material-symbols-rounded">move_down</span>, icon: <span className="material-symbols-rounded">image</span>,
name: "home.reorganizePages.title", name: "home.addImage.title",
component: null,
view: "pageEditor",
description: "home.reorganizePages.desc",
category: "Standard Tools",
subcategory: "Page Formatting"
},
"rotate": {
icon: <span className="material-symbols-rounded">rotate_right</span>,
name: "home.rotate.title",
component: null, component: null,
view: "format", view: "format",
description: "home.rotate.desc", description: "home.addImage.desc",
category: "Standard Tools", category: "Advanced Tools",
subcategory: "Page Formatting" subcategory: "Advanced Formatting"
}, },
"sanitize": { "edit-table-of-contents": {
icon: <span className="material-symbols-rounded">sanitizer</span>, icon: <span className="material-symbols-rounded">bookmark_add</span>,
name: "home.sanitizePdf.title", name: "home.editTableOfContents.title",
component: null, component: null,
view: "security", view: "format",
description: "home.sanitizePdf.desc", description: "home.editTableOfContents.desc",
category: "Standard Tools", category: "Advanced Tools",
subcategory: "Document Security" subcategory: "Advanced Formatting"
}, },
"scanner-effect": { "scanner-effect": {
icon: <span className="material-symbols-rounded">scanner</span>, icon: <span className="material-symbols-rounded">scanner</span>,
@ -449,6 +531,10 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Advanced Tools", category: "Advanced Tools",
subcategory: "Advanced Formatting" subcategory: "Advanced Formatting"
}, },
// Developer Tools
"show-javascript": { "show-javascript": {
icon: <span className="material-symbols-rounded">javascript</span>, icon: <span className="material-symbols-rounded">javascript</span>,
name: "home.showJS.title", name: "home.showJS.title",
@ -458,7 +544,6 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Advanced Tools", category: "Advanced Tools",
subcategory: "Developer Tools" subcategory: "Developer Tools"
}, },
// External Developer Resources (open in new tab)
"dev-api": { "dev-api": {
icon: <span className="material-symbols-rounded" style={{ color: '#2F7BF6' }}>open_in_new</span>, icon: <span className="material-symbols-rounded" style={{ color: '#2F7BF6' }}>open_in_new</span>,
name: "API", name: "API",
@ -495,50 +580,71 @@ export const flatToolRegistryMap: ToolRegistry = {
category: "Advanced Tools", category: "Advanced Tools",
subcategory: "Developer Tools" subcategory: "Developer Tools"
}, },
"sign": {
icon: <span className="material-symbols-rounded">signature</span>,
name: "home.sign.title", // Recommended Tools
component: null, "compare": {
view: "sign", icon: <span className="material-symbols-rounded">compare</span>,
description: "home.sign.desc", name: "home.compare.title",
category: "Standard Tools",
subcategory: "Signing"
},
"single-large-page": {
icon: <span className="material-symbols-rounded">looks_one</span>,
name: "home.PdfToSinglePage.title",
component: null, component: null,
view: "format", view: "format",
description: "home.PdfToSinglePage.desc", description: "home.compare.desc",
category: "Standard Tools", category: "Recommended Tools",
subcategory: "Page Formatting" subcategory: null
}, },
"splitPdf": { "compressPdfs": {
icon: <span className="material-symbols-rounded">content_cut</span>, icon: <span className="material-symbols-rounded">zoom_in_map</span>,
name: "home.split.title", name: "home.compressPdfs.title",
component: SplitPdfPanel, component: CompressPdfPanel,
view: "split", view: "compress",
description: "home.split.desc", description: "home.compressPdfs.desc",
category: "Standard Tools", category: "Recommended Tools",
subcategory: "Page Formatting" subcategory: null
}, },
"unlock-pdf-forms": { "convert": {
icon: <span className="material-symbols-rounded">preview_off</span>, icon: <span className="material-symbols-rounded">sync_alt</span>,
name: "home.unlockPDFForms.title", name: "home.fileToPDF.title",
component: ConvertPanel,
view: "convert",
description: "home.fileToPDF.desc",
category: "Recommended Tools",
subcategory: null
},
"mergePdfs": {
icon: <span className="material-symbols-rounded">library_add</span>,
name: "home.merge.title",
component: null, component: null,
view: "security", view: "merge",
description: "home.unlockPDFForms.desc", description: "home.merge.desc",
category: "Standard Tools", category: "Recommended Tools",
subcategory: "Document Security" subcategory: null
}, },
"validate-pdf-signature": { "multi-tool": {
icon: <span className="material-symbols-rounded">verified</span>, icon: <span className="material-symbols-rounded">dashboard_customize</span>,
name: "home.validateSignature.title", name: "home.multiTool.title",
component: null, component: null,
view: "security", view: "pageEditor",
description: "home.validateSignature.desc", description: "home.multiTool.desc",
category: "Standard Tools", category: "Recommended Tools",
subcategory: "Verification" subcategory: null
},
"ocr": {
icon: <span className="material-symbols-rounded">quick_reference_all</span>,
name: "home.ocr.title",
component: OCRPanel,
view: "convert",
description: "home.ocr.desc",
category: "Recommended Tools",
subcategory: null
},
"redact": {
icon: <span className="material-symbols-rounded">visibility_off</span>,
name: "home.redact.title",
component: null,
view: "redact",
description: "home.redact.desc",
category: "Recommended Tools",
subcategory: null
}, },
"view-pdf": { "view-pdf": {
icon: <span className="material-symbols-rounded">article</span>, icon: <span className="material-symbols-rounded">article</span>,