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;