Files
Aurora-SpotiRip/components/ScrollToHashElement.tsx
T

33 lines
706 B
TypeScript
Raw Normal View History

2026-09-25 23:20:57 -05:00
import { useMemo, useEffect } from "react";
import { useLocation } from "react-router-dom";
export const ScrollToHashElement = () => {
let location = useLocation();
let hashElement = useMemo(() => {
let hash = location.hash;
const removeHashCharacter = (str: string) => {
const result = str.slice(1);
return result;
};
if (hash) {
let element = document.getElementById(removeHashCharacter(hash));
return element;
} else {
return null;
}
}, [location]);
useEffect(() => {
if (hashElement) {
hashElement.scrollIntoView({
behavior: "smooth",
inline: "nearest",
});
}
}, [hashElement]);
return null;
};