From 93c11fd7be6c6794a9d4fdc381cb3fd343e28ca9 Mon Sep 17 00:00:00 2001 From: nklhrstv Date: Sun, 29 Mar 2020 18:32:17 +0300 Subject: [PATCH] add validation to the MetaDetails load action --- src/routes/MetaDetails/useMetaDetails.js | 44 ++++++++++++++---------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/src/routes/MetaDetails/useMetaDetails.js b/src/routes/MetaDetails/useMetaDetails.js index 19c182dd5..3fe8044de 100644 --- a/src/routes/MetaDetails/useMetaDetails.js +++ b/src/routes/MetaDetails/useMetaDetails.js @@ -32,29 +32,35 @@ const mapMetaDetailsState = (meta_details) => { const useMetaDetails = (urlParams) => { const loadMetaDetailsAction = React.useMemo(() => { - return { - action: 'Load', - args: { - model: 'MetaDetails', + if (typeof urlParams.type === 'string' && typeof urlParams.id === 'string') { + return { + action: 'Load', args: { - meta_resource_ref: { - resource: 'meta', - type_name: urlParams.type, - id: urlParams.id, - extra: [] - }, - streams_resource_ref: typeof urlParams.videoId === 'string' ? - { - resource: 'stream', + model: 'MetaDetails', + args: { + meta_resource_ref: { + resource: 'meta', type_name: urlParams.type, - id: urlParams.videoId, + id: urlParams.id, extra: [] - } - : - null + }, + streams_resource_ref: typeof urlParams.videoId === 'string' ? + { + resource: 'stream', + type_name: urlParams.type, + id: urlParams.videoId, + extra: [] + } + : + null + } } - } - }; + }; + } else { + return { + action: 'Unload' + }; + } }, [urlParams]); return useModelState({ model: 'meta_details',