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