mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-23 05:23:03 +00:00
fix(MetaDetails): parse correct url and search params
This commit is contained in:
parent
ed65bed7c8
commit
f87ef3de4e
2 changed files with 8 additions and 14 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
// Copyright (C) 2017-2023 Smart code 203358507
|
// Copyright (C) 2017-2023 Smart code 203358507
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const PropTypes = require('prop-types');
|
const { useParams } = require('react-router');
|
||||||
const classnames = require('classnames');
|
const classnames = require('classnames');
|
||||||
const { useServices } = require('stremio/services');
|
const { useServices } = require('stremio/services');
|
||||||
const { withCoreSuspender } = require('stremio/common');
|
const { withCoreSuspender } = require('stremio/common');
|
||||||
|
|
@ -13,10 +13,11 @@ const useSeason = require('./useSeason');
|
||||||
const useMetaExtensionTabs = require('./useMetaExtensionTabs');
|
const useMetaExtensionTabs = require('./useMetaExtensionTabs');
|
||||||
const styles = require('./styles');
|
const styles = require('./styles');
|
||||||
|
|
||||||
const MetaDetails = ({ urlParams, queryParams }) => {
|
const MetaDetails = () => {
|
||||||
|
const urlParams = useParams();
|
||||||
const { core } = useServices();
|
const { core } = useServices();
|
||||||
const metaDetails = useMetaDetails(urlParams);
|
const metaDetails = useMetaDetails(urlParams);
|
||||||
const [season, setSeason] = useSeason(urlParams, queryParams);
|
const [season, setSeason] = useSeason(urlParams);
|
||||||
const [tabs, metaExtension, clearMetaExtension] = useMetaExtensionTabs(metaDetails.metaExtensions);
|
const [tabs, metaExtension, clearMetaExtension] = useMetaExtensionTabs(metaDetails.metaExtensions);
|
||||||
const [metaPath, streamPath] = React.useMemo(() => {
|
const [metaPath, streamPath] = React.useMemo(() => {
|
||||||
return metaDetails.selected !== null ?
|
return metaDetails.selected !== null ?
|
||||||
|
|
@ -212,15 +213,6 @@ const MetaDetails = ({ urlParams, queryParams }) => {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
MetaDetails.propTypes = {
|
|
||||||
urlParams: PropTypes.shape({
|
|
||||||
type: PropTypes.string,
|
|
||||||
id: PropTypes.string,
|
|
||||||
videoId: PropTypes.string
|
|
||||||
}),
|
|
||||||
queryParams: PropTypes.instanceOf(URLSearchParams)
|
|
||||||
};
|
|
||||||
|
|
||||||
const MetaDetailsFallback = () => (
|
const MetaDetailsFallback = () => (
|
||||||
<div className={styles['metadetails-container']}>
|
<div className={styles['metadetails-container']}>
|
||||||
<HorizontalNavBar
|
<HorizontalNavBar
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
// Copyright (C) 2017-2023 Smart code 203358507
|
// Copyright (C) 2017-2023 Smart code 203358507
|
||||||
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
|
const { useSearchParams } = require('react-router-dom');
|
||||||
|
|
||||||
const useSeason = (urlParams, queryParams) => {
|
const useSeason = (urlParams) => {
|
||||||
|
const [queryParams, setQueryParams] = useSearchParams();
|
||||||
const season = React.useMemo(() => {
|
const season = React.useMemo(() => {
|
||||||
return queryParams.has('season') && !isNaN(queryParams.get('season')) ?
|
return queryParams.has('season') && !isNaN(queryParams.get('season')) ?
|
||||||
parseInt(queryParams.get('season'), 10)
|
parseInt(queryParams.get('season'), 10)
|
||||||
|
|
@ -12,7 +14,7 @@ const useSeason = (urlParams, queryParams) => {
|
||||||
const setSeason = React.useCallback((season) => {
|
const setSeason = React.useCallback((season) => {
|
||||||
const nextQueryParams = new URLSearchParams(queryParams);
|
const nextQueryParams = new URLSearchParams(queryParams);
|
||||||
nextQueryParams.set('season', season);
|
nextQueryParams.set('season', season);
|
||||||
window.location.replace(`#${urlParams.path}?${nextQueryParams}`);
|
setQueryParams(nextQueryParams);
|
||||||
}, [urlParams, queryParams]);
|
}, [urlParams, queryParams]);
|
||||||
return [season, setSeason];
|
return [season, setSeason];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue