useRouteActive custom hook implemented

This commit is contained in:
NikolaBorislavovHristov 2019-09-11 18:03:33 +03:00
parent 5a9d12c4fe
commit f9273ffe07
2 changed files with 16 additions and 0 deletions

View file

@ -16,6 +16,7 @@ const routesRegexp = require('./routesRegexp');
const useBinaryState = require('./useBinaryState');
const useFullscreen = require('./useFullscreen');
const useLocationHash = require('./useLocationHash');
const useRouteActive = require('./useRouteActive');
const useTabIndex = require('./useTabIndex');
module.exports = {
@ -37,5 +38,6 @@ module.exports = {
useBinaryState,
useFullscreen,
useLocationHash,
useRouteActive,
useTabIndex
};

View file

@ -0,0 +1,14 @@
const React = require('react');
const UrlUtils = require('url');
const useLocationHash = require('stremio/common/useLocationHash');
const useRouteActive = (routeRegexp) => {
const locationHash = useLocationHash();
const active = React.useMemo(() => {
const { pathname: locationPathname } = UrlUtils.parse(locationHash.slice(1));
return !!locationPathname.match(routeRegexp);
}, [locationHash, routeRegexp]);
return active;
};
module.exports = useRouteActive;