diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 142bd3f..2075be4 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,10 +4,12 @@
-
+
+
-
-
+
+
+
@@ -18,6 +20,11 @@
+
@@ -183,14 +190,8 @@
-
-
-
- 1718996769014
-
-
-
- 1718996769014
+
+
@@ -576,7 +577,15 @@
1719297880629
-
+
+
+ 1719305172029
+
+
+
+ 1719305172029
+
+
@@ -597,7 +606,6 @@
-
@@ -622,7 +630,8 @@
-
+
+
diff --git a/src/components/ToolBreadcrumb.tsx b/src/components/ToolBreadcrumb.tsx
new file mode 100644
index 0000000..dabbed3
--- /dev/null
+++ b/src/components/ToolBreadcrumb.tsx
@@ -0,0 +1,36 @@
+import React from 'react';
+import { Breadcrumbs, Typography, useTheme } from '@mui/material';
+import { Link } from 'react-router-dom';
+
+interface BreadcrumbItem {
+ title: string;
+ link?: string; // link is optional for the last item
+}
+
+interface BreadcrumbComponentProps {
+ items: BreadcrumbItem[];
+}
+
+const ToolBreadcrumb: React.FC = ({ items }) => {
+ const theme = useTheme();
+ return (
+
+ {items.map((item, index) => {
+ if (index === items.length - 1 || !item.link) {
+ return (
+
+ {item.title}
+
+ );
+ }
+ return (
+
+ {item.title}
+
+ );
+ })}
+
+ );
+};
+
+export default ToolBreadcrumb;
diff --git a/src/components/ToolHeader.tsx b/src/components/ToolHeader.tsx
index ded1fff..86faa74 100644
--- a/src/components/ToolHeader.tsx
+++ b/src/components/ToolHeader.tsx
@@ -1,10 +1,13 @@
import { Button, Box, Stack } from '@mui/material';
import Typography from '@mui/material/Typography';
+import ToolBreadcrumb from './ToolBreadcrumb';
+import { capitalizeFirstLetter } from '../utils/string';
interface ToolHeaderProps {
title: string;
description: string;
image?: string;
+ type: string;
}
function ToolLinks() {
@@ -26,18 +29,31 @@ function ToolLinks() {
export default function ToolHeader({
image,
title,
- description
+ description,
+ type
}: ToolHeaderProps) {
return (
-
-
-
- {title}
-
- {description}
-
-
- {image &&
}
-
+
+
+
+
+
+ {title}
+
+ {description}
+
+
+ {image &&
}
+
+
);
}
diff --git a/src/components/ToolLayout.tsx b/src/components/ToolLayout.tsx
index b99c073..2e03a07 100644
--- a/src/components/ToolLayout.tsx
+++ b/src/components/ToolLayout.tsx
@@ -7,11 +7,13 @@ export default function ToolLayout({
children,
title,
description,
- image
+ image,
+ type
}: {
title: string;
description: string;
image?: string;
+ type: string;
children: ReactNode;
}) {
return (
@@ -25,7 +27,12 @@ export default function ToolLayout({
{`${title} - Omni Tools`}
-
+
{children}
diff --git a/src/tools/defineTool.tsx b/src/tools/defineTool.tsx
index 91d489c..55b4a28 100644
--- a/src/tools/defineTool.tsx
+++ b/src/tools/defineTool.tsx
@@ -35,7 +35,12 @@ export const defineTool = (
keywords,
component: () => {
return (
-
+
);