mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-02-01 20:10:35 +01:00
change from reccomended tools to be favorites + recents
This commit is contained in:
parent
ea80d9d484
commit
3d30286b42
@ -66,7 +66,7 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa
|
||||
}, []);
|
||||
|
||||
const { sections: visibleSections } = useToolSections(filteredTools);
|
||||
const { favoriteTools, toolRegistry } = useToolWorkflow();
|
||||
const { favoriteTools, recentTools, toolRegistry } = useToolWorkflow();
|
||||
|
||||
const favoriteToolItems = useMemo(() => {
|
||||
return favoriteTools
|
||||
@ -79,6 +79,20 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa
|
||||
.filter((item: any) => item && (item.tool.component || item.tool.link || item.id === 'read' || item.id === 'multiTool')) as Array<{ id: string; tool: ToolRegistryEntry }>;
|
||||
}, [favoriteTools, toolRegistry]);
|
||||
|
||||
const recentToolItems = useMemo(() => {
|
||||
return recentTools
|
||||
.map((toolId) => {
|
||||
const tool = (toolRegistry as any)[toolId as ToolId] as ToolRegistryEntry | undefined;
|
||||
return tool ? { id: toolId as string, tool } : null;
|
||||
})
|
||||
.filter(Boolean)
|
||||
.slice(0, 5) as Array<{ id: string; tool: ToolRegistryEntry }>; // cap to 5
|
||||
}, [recentTools, toolRegistry]);
|
||||
|
||||
const recommendedCount = useMemo(() => {
|
||||
return favoriteToolItems.length + recentToolItems.length;
|
||||
}, [favoriteToolItems.length, recentToolItems.length]);
|
||||
|
||||
const quickSection = useMemo(
|
||||
() => visibleSections.find(s => s.key === 'quick'),
|
||||
[visibleSections]
|
||||
@ -160,7 +174,7 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa
|
||||
>
|
||||
<span style={{ fontSize: "1rem" }}>{t("toolPicker.recommended", "RECOMMENDED")}</span>
|
||||
<Badge>
|
||||
{quickSection?.subcategories.reduce((acc, sc) => acc + sc.tools.length, 0)}
|
||||
{recommendedCount}
|
||||
</Badge>
|
||||
</div>
|
||||
|
||||
@ -182,12 +196,23 @@ const ToolPicker = ({ selectedToolKey, onSelect, filteredTools, isSearching = fa
|
||||
</div>
|
||||
</Box>
|
||||
)}
|
||||
{favoriteToolItems.length > 0 && (
|
||||
<SubcategoryHeader label={t('toolPanel.suggestedTools', 'Suggested Tools')} />
|
||||
)}
|
||||
{quickSection?.subcategories.map(sc =>
|
||||
renderToolButtons(t, sc, selectedToolKey, onSelect, false, false)
|
||||
{recentToolItems.length > 0 && (
|
||||
<Box w="100%">
|
||||
<SubcategoryHeader label={t('toolPanel.fullscreen.recent', 'Recently used')} />
|
||||
<div>
|
||||
{recentToolItems.map(({ id, tool }) => (
|
||||
<ToolButton
|
||||
key={`recent-${id}`}
|
||||
id={id}
|
||||
tool={tool}
|
||||
isSelected={selectedToolKey === id}
|
||||
onSelect={onSelect}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</Box>
|
||||
)}
|
||||
{/* Temporarily hide the rest of Recommended tools; show only Favourites and Recently used */}
|
||||
</Stack>
|
||||
</Box>
|
||||
</>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user