mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-21 03:22:11 +00:00
useRouteActive custom hook implemented
This commit is contained in:
parent
5a9d12c4fe
commit
f9273ffe07
2 changed files with 16 additions and 0 deletions
|
|
@ -16,6 +16,7 @@ const routesRegexp = require('./routesRegexp');
|
||||||
const useBinaryState = require('./useBinaryState');
|
const useBinaryState = require('./useBinaryState');
|
||||||
const useFullscreen = require('./useFullscreen');
|
const useFullscreen = require('./useFullscreen');
|
||||||
const useLocationHash = require('./useLocationHash');
|
const useLocationHash = require('./useLocationHash');
|
||||||
|
const useRouteActive = require('./useRouteActive');
|
||||||
const useTabIndex = require('./useTabIndex');
|
const useTabIndex = require('./useTabIndex');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
@ -37,5 +38,6 @@ module.exports = {
|
||||||
useBinaryState,
|
useBinaryState,
|
||||||
useFullscreen,
|
useFullscreen,
|
||||||
useLocationHash,
|
useLocationHash,
|
||||||
|
useRouteActive,
|
||||||
useTabIndex
|
useTabIndex
|
||||||
};
|
};
|
||||||
|
|
|
||||||
14
src/common/useRouteActive.js
Normal file
14
src/common/useRouteActive.js
Normal 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;
|
||||||
Loading…
Reference in a new issue