horarios-v3/src/Router.tsx

32 lines
816 B
TypeScript
Raw Normal View History

import { createSignal, JSX } from "solid-js";
export const useRouter = (): () => string => {
let rutaPrevia = window.location.hash;
if (rutaPrevia === "") {
window.history.pushState({}, "Horarios UNSA", "#/");
rutaPrevia = "/";
} else {
rutaPrevia = rutaPrevia.substr(1);
}
const [rutaActual, setRutaActual] = createSignal(rutaPrevia);
const fnEffect = () => {
const nuevaRuta = window.location.hash.substr(1);
setRutaActual(nuevaRuta);
};
window.addEventListener("hashchange", fnEffect);
return rutaActual;
};
export function RouterLink(props: { to: string, className?: string, children: JSX.Element }) {
return (
<a className={props.className} href={`/#${props.to}`}>
{props.children}
</a>
);
}