fix: validate latency badge props

This commit is contained in:
Nuwan 2023-12-14 20:02:39 +05:30
parent 3fed41899a
commit 0406a64531
3 changed files with 20 additions and 5 deletions

View File

@ -31,12 +31,12 @@ const JKLatencyBadge = ({ latencyData, showAll, showBadgeOnly }) => {
useEffect(() => { useEffect(() => {
if (latencyData) { if (latencyData) {
const tot = Math.round(latencyData.ars.internet_latency) + Math.round(latencyData.audio_latency); const tot = Math.round(latencyData.ars_internet_latency) + Math.round(latencyData.audio_latency);
setLatencyLabel(tot); setLatencyLabel(tot);
if (showAll) { if (showAll) {
setLatencyInfo( setLatencyInfo(
`${Math.round(latencyData.ars.internet_latency)}ms (Internet) + ${Math.round( `${Math.round(latencyData.ars_internet_latency)}ms (Internet) + ${Math.round(
latencyData.audio_latency latencyData.audio_latency
)}ms (audio) = ${tot}ms (total) ` )}ms (audio) = ${tot}ms (total) `
); );
@ -57,7 +57,10 @@ const JKLatencyBadge = ({ latencyData, showAll, showBadgeOnly }) => {
}; };
JKLatencyBadge.propTypes = { JKLatencyBadge.propTypes = {
latencyData: PropTypes.object, latencyData: PropTypes.shape({
ars_internet_latency: PropTypes.number.isRequired,
audio_latency: PropTypes.number.isRequired
}),
showAll: PropTypes.bool, showAll: PropTypes.bool,
showBadgeOnly: PropTypes.bool showBadgeOnly: PropTypes.bool
}; };

View File

@ -5,7 +5,13 @@ import PropTypes from 'prop-types';
import JKLatencyBadge from './JKLatencyBadge'; import JKLatencyBadge from './JKLatencyBadge';
const JKUserLatency = ({user, showAll, showBadgeOnly}) => { const JKUserLatency = ({user, showAll, showBadgeOnly}) => {
const latencyData = useSelector(state => state.latency.latencies.find(l => l.user_id === user.id)); const latencyData = useSelector(state => {
const userLatency = state.latency.latencies.find(l => l.user_id === user.id);
return {
ars_internet_latency: userLatency?.ars?.internet_latency,
audio_latency: userLatency?.audio_latency
}
});
return ( return (
<JKLatencyBadge latencyData={latencyData} showAll={showAll} showBadgeOnly={showBadgeOnly} /> <JKLatencyBadge latencyData={latencyData} showAll={showAll} showBadgeOnly={showBadgeOnly} />
); );

View File

@ -10,7 +10,13 @@ import PropTypes from 'prop-types';
function JKSessionUser({ user }) { function JKSessionUser({ user }) {
const dispatch = useDispatch(); const dispatch = useDispatch();
const latencyData = useSelector(state => state.latency.latencies.find(l => l.user_id === user.id)); const latencyData = useSelector(state => {
const userLatency = state.latency.latencies.find(l => l.user_id === user.id);
return {
ars_internet_latency: userLatency?.ars?.internet_latency,
audio_latency: userLatency?.audio_latency
}
});
const userData = useSelector(state => state.session.people.find(p => p.id === user.id)); const userData = useSelector(state => state.session.people.find(p => p.id === user.id));
const [showSidePanel, setShowSidePanel] = useState(false); const [showSidePanel, setShowSidePanel] = useState(false);
const { greaterThan } = useResponsive(); const { greaterThan } = useResponsive();