diff --git a/src/components/Mark.tsx b/src/components/Mark.tsx
new file mode 100644
index 0000000..b009397
--- /dev/null
+++ b/src/components/Mark.tsx
@@ -0,0 +1,94 @@
+import { useState } from "react";
+import { Mark as MarkType } from "../types/Mark";
+
+interface MarkProps {
+ isFiltered: boolean;
+ mark: MarkType;
+ width: number;
+ height: number;
+ icon: React.ReactNode;
+}
+
+const Mark = ({ isFiltered, width, height, icon, mark }: MarkProps) => {
+ const [isHovered, setIsHovered] = useState(false);
+ function handleOnMouseEnter(): void {
+ setIsHovered(true);
+ }
+
+ function handleOnMouseLeave(): void {
+ setIsHovered(false);
+ }
+
+ return (
+
+ //
+ //
+ //
+ // {icon}
+ //
+ );
+};
+
+export default Mark;
diff --git a/src/components/MarksContainer.tsx b/src/components/MarksContainer.tsx
index 1986bd9..1c3d64c 100644
--- a/src/components/MarksContainer.tsx
+++ b/src/components/MarksContainer.tsx
@@ -1,4 +1,5 @@
-import { Mark } from "../types/Mark";
+import Mark from "./Mark";
+import { Mark as MarkType } from "../types/Mark";
import MarkEducationIcon from "./icons/marks/MarkEducationIcon";
import MarkFoodIcon from "./icons/marks/MarkFoodIcon";
import MarkHeathyIcon from "./icons/marks/MarkHeathyIcon";
@@ -14,8 +15,8 @@ const markIcons: { [key: string]: React.ReactNode } = {
};
interface MarksContainerProps {
- marks: Mark[];
- filteredMarks: Mark[];
+ marks: MarkType[];
+ filteredMarks: MarkType[];
markWidth?: number;
markHeigth?: number;
}
@@ -33,37 +34,22 @@ function MarksContainer({
viewBox="0 0 2160 2160"
fill="none"
xmlns="http://www.w3.org/2000/svg"
- className="absolute top-0 left-0 w-full h-full"
+ className="absolute z-50 top-0 left-0 w-full h-full"
>
{marks.map((mark) => {
- const isFiltered = filteredMarks.find(
+ const isFiltered = filteredMarks.some(
(filteredMark) => filteredMark.id === mark.id
);
return (
-
-
-
- {markIcons[mark.icon]}
-
+ icon={markIcons[mark.icon]}
+ />
);
})}
diff --git a/src/marks.json b/src/marks.json
index 81e0c7e..0e43194 100644
--- a/src/marks.json
+++ b/src/marks.json
@@ -534,21 +534,5 @@
"y": 1200,
"icon": "sport",
"distance": 700
- },
- {
- "id": "sport_15",
- "label": "Bright Fit",
- "x": 1540,
- "y": 1200,
- "icon": "sport",
- "distance": 700
- },
- {
- "id": "sport_16",
- "label": "Bright Fit",
- "x": 1540,
- "y": 1200,
- "icon": "sport",
- "distance": 700
}
]