mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-08-26 06:09:23 +00:00

* automate feature * Moved all providers to app level to simplify homepage * Circular dependency fixes * You will see that now toolRegistry gets a tool config and a tool settings object. These enable automate to run the tools using as much static code as possible. --------- Co-authored-by: Connor Yoh <connor@stirlingpdf.com>
35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import React from 'react';
|
|
import { Box, Stack } from '@mantine/core';
|
|
import ToolButton from '../toolPicker/ToolButton';
|
|
import SubcategoryHeader from './SubcategoryHeader';
|
|
|
|
import { getSubcategoryLabel } from "../../../data/toolsTaxonomy";
|
|
import { TFunction } from 'i18next';
|
|
import { SubcategoryGroup } from '../../../hooks/useToolSections';
|
|
|
|
// Helper function to render tool buttons for a subcategory
|
|
export const renderToolButtons = (
|
|
t: TFunction,
|
|
subcategory: SubcategoryGroup,
|
|
selectedToolKey: string | null,
|
|
onSelect: (id: string) => void,
|
|
showSubcategoryHeader: boolean = true
|
|
) => (
|
|
<Box key={subcategory.subcategoryId} w="100%">
|
|
{showSubcategoryHeader && (
|
|
<SubcategoryHeader label={getSubcategoryLabel(t, subcategory.subcategoryId)} />
|
|
)}
|
|
<Stack gap="xs">
|
|
{subcategory.tools.map(({ id, tool }) => (
|
|
<ToolButton
|
|
key={id}
|
|
id={id}
|
|
tool={tool}
|
|
isSelected={selectedToolKey === id}
|
|
onSelect={onSelect}
|
|
/>
|
|
))}
|
|
</Stack>
|
|
</Box>
|
|
);
|