Files
Aurora-SpotiRip/components/ScrollToHashElement.tsx
T
R3ap3r 3178b8f4f7 Aurora SpotiRip desktop and web app
- Spotify playlist, library, album and artist browsing with in-app playback
- Song, playlist and album downloads via spotdl with YouTube and Bandcamp fallbacks
- Electron desktop app (castLabs Widevine) with a permanent sidebar layout
- Linux and Windows packaging scripts
2026-09-25 23:20:57 -05:00

33 lines
706 B
TypeScript

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;
};