From 0f7b9b2884206acdba559efdf7ac191c59dabbff Mon Sep 17 00:00:00 2001 From: Nuwan Date: Tue, 20 May 2025 18:27:43 +0530 Subject: [PATCH] fix null value error in session list --- jam-ui/src/components/sessions/JKSession.js | 140 +++++++++++--------- 1 file changed, 78 insertions(+), 62 deletions(-) diff --git a/jam-ui/src/components/sessions/JKSession.js b/jam-ui/src/components/sessions/JKSession.js index 7a4b76206..7fb01e064 100644 --- a/jam-ui/src/components/sessions/JKSession.js +++ b/jam-ui/src/components/sessions/JKSession.js @@ -13,7 +13,7 @@ import useNativeAppCheck from '../../hooks/useNativeAppCheck'; import { useNativeApp } from '../../context/NativeAppContext'; import EnterIcon from '../../icons/enter.svg'; import JKInstrumentIcon from '../profile/JKInstrumentIcon'; -import {useHistory} from 'react-router-dom'; +import { useHistory } from 'react-router-dom'; import useSessionHelper from './JKUseSessionHelper'; import JKModalDialog from '../common/JKModalDialog'; import JKAppLaunch from '../page/JKAppLaunch'; @@ -25,10 +25,10 @@ function JKSession({ session }) { const { greaterThan } = useResponsive(); const { setNativeAppUnavailable } = useNativeApp(); const { sessionDescription } = useSessionHelper(session); - + useEffect(() => { - const otherUserIds = session.active_music_session.participants.map(p => p.user.id); + const otherUserIds = session.active_music_session ? session.active_music_session.participants.map(p => p.user.id) : []; const options = { currentUserId: currentUser.id, otherUserIds }; dispatch(fetchUserLatencies(options)); }, [session.id]); @@ -40,7 +40,7 @@ function JKSession({ session }) { }; const hasFriendNote = session => { - if (session.active_music_session.participants.find(p => p.user.is_friend)) { + if (session.active_music_session && session.active_music_session.participants.find(p => p.user.is_friend)) { return t('list.notes.has_friend', { ns: 'sessions' }); } }; @@ -71,48 +71,62 @@ function JKSession({ session }) {
{sessionDescription}
+ - {session.active_music_session.participants.map(participant => ( - - - - - - ))} + {session.active_music_session && session.active_music_session.participants.length > 0 && ( + <> + {session.active_music_session.participants.map(participant => ( + + + + + + ))} + + )} + - {session.active_music_session.participants.map(participant => ( - - - - - - ))} + {session.active_music_session && session.active_music_session.participants.length > 0 && ( + <> + {session.active_music_session.participants.map(participant => ( + + + + + + ))} + + )} - {session.active_music_session.participants.map(participant => ( - - - {participant.tracks.map(track => ( - - - {/* */} - - - - {track.instrument} - - - ))} - - - ))} + {session.active_music_session && session.active_music_session.participants.length > 0 && ( + <> + {session.active_music_session.participants.map(participant => ( + + + {participant.tracks.map(track => ( + + + {/* */} + + + + {track.instrument} + + + ))} + + + ))} + + )} @@ -142,11 +156,13 @@ function JKSession({ session }) { {t('list.header.latency', { ns: 'sessions' })} -
- {session.active_music_session.participants.map(participant => ( - - ))} -
+ {session.active_music_session && session.active_music_session.participants.length > 0 && ( +
+ {session.active_music_session.participants.map(participant => ( + + ))} +
+ )}
@@ -187,23 +203,23 @@ function JoinSessionButton({ session }) { return ( <> -
- -
- - Join Session - +
+ +
-
-