src/app/legacy/containers/RadioSchedule/index.jsx
import React, { useContext } from 'react';
import pathOr from 'ramda/src/pathOr';
import { RequestContext } from '#contexts/RequestContext';
import useLocation from '#hooks/useLocation';
import useToggle from '#hooks/useToggle';
import { getRadioScheduleEndpoint } from '#lib/utilities/getUrlHelpers/getRadioSchedulesUrls';
import { ServiceContext } from '../../../contexts/ServiceContext';
import Canonical from './Canonical';
const RadioSchedule = ({
initialData,
radioScheduleEndpointOverride = null,
lang = null,
className = '',
}) => {
const { enabled } = useToggle('radioSchedule');
const { isAmp, env } = useContext(RequestContext);
const { service, radioSchedule } = useContext(ServiceContext);
const location = useLocation();
const hasRadioSchedule = pathOr(null, ['hasRadioSchedule'], radioSchedule);
const radioScheduleEnabled = !isAmp && enabled && hasRadioSchedule;
if (!radioScheduleEnabled) {
return null;
}
const endpoint =
radioScheduleEndpointOverride ||
getRadioScheduleEndpoint({
service,
env,
queryString: location.search,
});
return (
<Canonical
className={className}
endpoint={endpoint}
initialData={initialData}
lang={lang}
/>
);
};
export default RadioSchedule;