mirror of
https://github.com/iib0011/omni-tools.git
synced 2025-11-21 12:34:03 +01:00
feat: search tools
This commit is contained in:
@@ -9,7 +9,7 @@ interface ToolOptions {
|
||||
description: string;
|
||||
}
|
||||
|
||||
interface DefinedTool {
|
||||
export interface DefinedTool {
|
||||
path: string;
|
||||
name: string;
|
||||
description: string;
|
||||
|
||||
@@ -1,4 +1,23 @@
|
||||
import { stringTools } from '../pages/string/stringTools';
|
||||
import { imageTools } from '../pages/images/imageTools';
|
||||
import { DefinedTool } from './defineTool';
|
||||
|
||||
export const tools = [...stringTools, ...imageTools];
|
||||
export const tools: DefinedTool[] = [...stringTools, ...imageTools];
|
||||
|
||||
export const filterTools = (
|
||||
tools: DefinedTool[],
|
||||
query: string
|
||||
): DefinedTool[] => {
|
||||
if (!query) return tools;
|
||||
|
||||
const lowerCaseQuery = query.toLowerCase();
|
||||
|
||||
return tools.filter(
|
||||
(tool) =>
|
||||
tool.name.toLowerCase().includes(lowerCaseQuery) ||
|
||||
tool.description.toLowerCase().includes(lowerCaseQuery) ||
|
||||
tool.keywords.some((keyword) =>
|
||||
keyword.toLowerCase().includes(lowerCaseQuery)
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user