diff --git a/package-lock.json b/package-lock.json
index bc2de39..fde752c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,6 +14,7 @@
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.3",
+ "@vercel/analytics": "^2.0.1",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"framer-motion": "^12.38.0",
@@ -2194,6 +2195,48 @@
"integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
"license": "MIT"
},
+ "node_modules/@vercel/analytics": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-2.0.1.tgz",
+ "integrity": "sha512-MTQG6V9qQrt1tsDeF+2Uoo5aPjqbVPys1xvnIftXSJYG2SrwXRHnqEvVoYID7BTruDz4lCd2Z7rM1BdkUehk2g==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@remix-run/react": "^2",
+ "@sveltejs/kit": "^1 || ^2",
+ "next": ">= 13",
+ "nuxt": ">= 3",
+ "react": "^18 || ^19 || ^19.0.0-rc",
+ "svelte": ">= 4",
+ "vue": "^3",
+ "vue-router": "^4"
+ },
+ "peerDependenciesMeta": {
+ "@remix-run/react": {
+ "optional": true
+ },
+ "@sveltejs/kit": {
+ "optional": true
+ },
+ "next": {
+ "optional": true
+ },
+ "nuxt": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "svelte": {
+ "optional": true
+ },
+ "vue": {
+ "optional": true
+ },
+ "vue-router": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@vitejs/plugin-react": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz",
diff --git a/package.json b/package.json
index de32a01..c60e4a8 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.3",
+ "@vercel/analytics": "^2.0.1",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"framer-motion": "^12.38.0",
diff --git a/src/App.jsx b/src/App.jsx
index e3b0794..10fd25a 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,5 +1,6 @@
import { Suspense } from "react";
import { Outlet } from "react-router-dom";
+import { Analytics } from "@vercel/analytics/react";
import Sidebar from "./components/sidebar/Sidebar";
import InfoBar from "./components/molecules/Infobar";
import Loader from "./components/atoms/Loader";
@@ -8,13 +9,16 @@ import ContentArea from "./components/organisms/ContentArea";
function App() {
return (
- } header={}>
-
- }>
-
-
-
-
+ <>
+ } header={}>
+
+ }>
+
+
+
+
+
+ >
);
}
diff --git a/src/pages/Hooks/index.jsx b/src/pages/Hooks/index.jsx
index 845efad..334cb92 100644
--- a/src/pages/Hooks/index.jsx
+++ b/src/pages/Hooks/index.jsx
@@ -11,9 +11,9 @@ const HooksComponents = {
"use-click-outside": lazy(() => import("./UseClickOutsideHook")),
"use-window-size": lazy(() => import("./UseWindowSizeHook")),
"use-key-press": lazy(() => import("./UseKeyPressHook")),
- "use-throttle": lazy(() => import("./useThrottleHook")),
+ "use-throttle": lazy(() => import("./UseThrottleHook")),
"use-undo-redo": lazy(() => import("./UseUndoRedoHook")),
- "use-infinite-scroll": lazy(() => import("./useInfiniteScrollHook")),
+ "use-infinite-scroll": lazy(() => import("./UseInfiniteScrollHook")),
};
const Hooks = () => {
diff --git a/src/pages/Hooks/useInfiniteScrollHook.jsx b/src/pages/Hooks/useInfiniteScrollHook.jsx
index 328a95f..66a0f6e 100644
--- a/src/pages/Hooks/useInfiniteScrollHook.jsx
+++ b/src/pages/Hooks/useInfiniteScrollHook.jsx
@@ -24,7 +24,7 @@ export const useInfiniteScroll = (callback, Threshold = 20) => {
return handleScroll;
};
-const useInfiniteScrollHook = () => {
+const UseInfiniteScrollHook = () => {
const [data, setData] = useState([...new Array(40)]);
const handleScroll = useInfiniteScroll(() => {
setData((prev) => [...prev, ...new Array(10)]);
@@ -71,4 +71,4 @@ const useInfiniteScrollHook = () => {
);
};
-export default useInfiniteScrollHook;
+export default UseInfiniteScrollHook;
diff --git a/src/pages/Hooks/useThrottleHook.jsx b/src/pages/Hooks/useThrottleHook.jsx
index 275010b..be53cae 100644
--- a/src/pages/Hooks/useThrottleHook.jsx
+++ b/src/pages/Hooks/useThrottleHook.jsx
@@ -46,7 +46,7 @@ export const useThrottle = (callback, delay = 500) => {
return throttleFn;
};
-const useThrottleHook = () => {
+const UseThrottleHook = () => {
const [count, setCount] = useState(0);
const [inputValue, setInputValue] = useState("");
const throttledValue = useThrottleValue(inputValue, 5000);
@@ -100,4 +100,4 @@ const useThrottleHook = () => {
);
};
-export default useThrottleHook;
+export default UseThrottleHook;
diff --git a/src/pages/Hooks/useUndoRedoHook.jsx b/src/pages/Hooks/useUndoRedoHook.jsx
index a25d7c4..b25dfd8 100644
--- a/src/pages/Hooks/useUndoRedoHook.jsx
+++ b/src/pages/Hooks/useUndoRedoHook.jsx
@@ -48,7 +48,7 @@ export const useUndoRedo = (initialValues) => {
return { set, history, undo, redo };
};
-const useUndoRedoHook = () => {
+const UseUndoRedoHook = () => {
const { set, history, undo, redo } = useUndoRedo("");
return (
<>
@@ -123,4 +123,4 @@ const useUndoRedoHook = () => {
);
};
-export default useUndoRedoHook;
+export default UseUndoRedoHook;