UNPKG

@hmcts/media-viewer

Version:
56 lines 6.83 kB
import * as fromIcpActions from '../actions/icp.actions'; export const initialIcpSessionState = { session: null, presenter: null, client: null, participants: [] }; export function icpReducer(state = initialIcpSessionState, action) { switch (action.type) { case fromIcpActions.SET_CASE_ID: { const caseId = action.payload; const session = { ...state.session, caseId }; return { ...state, session }; } case fromIcpActions.ICP_SOCKET_SESSION_JOINED: { const session = action.payload.session; const participantInfo = action.payload.participantInfo; return { ...state, session, client: participantInfo.client, presenter: participantInfo.presenter, }; } case fromIcpActions.ICP_PARTICIPANT_LIST_UPDATED: { const updatedParticipants = action.payload; const participants = Object.keys(updatedParticipants) .map(id => ({ id: id, username: updatedParticipants[id] })); return { ...state, participants }; } case fromIcpActions.ICP_PRESENTER_UPDATED: { const presenter = action.payload; return { ...state, presenter }; } case fromIcpActions.LEAVE_ICP_SOCKET_SESSION: { return { ...state, ...initialIcpSessionState }; } } return state; } export const getIcpSession = (state) => state.session; export const getPresenter = (state) => state.presenter; export const getClient = (state) => state.client; export const getParticipants = (state) => state.participants; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9pY3AucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssY0FBYyxNQUFNLHdCQUF3QixDQUFDO0FBR3pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFhO0lBQzlDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtJQUNaLFlBQVksRUFBRSxFQUFFO0NBQ2pCLENBQUM7QUFFRixNQUFNLFVBQVUsVUFBVSxDQUFFLEtBQUssR0FBRyxzQkFBc0IsRUFDeEIsTUFBaUM7SUFFakUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEIsS0FBSyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzlCLE1BQU0sT0FBTyxHQUFHLEVBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDO1lBQzNDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLE9BQU87YUFDUixDQUFDO1FBQ0osQ0FBQztRQUVELEtBQUssY0FBYyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztZQUM5QyxNQUFNLE9BQU8sR0FBZSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNuRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUN2RCxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixPQUFPO2dCQUNQLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTTtnQkFDOUIsU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTO2FBQ3JDLENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxjQUFjLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sbUJBQW1CLEdBQVEsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNoRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2lCQUNsRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUQsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsWUFBWTthQUNiLENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDakMsT0FBTztnQkFDTCxHQUFHLEtBQUssRUFBRSxTQUFTO2FBQ3BCLENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1lBQzdDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLEdBQUcsc0JBQXNCO2FBQzFCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyb21JY3BBY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvaWNwLmFjdGlvbnMnO1xuaW1wb3J0IHsgSWNwU2Vzc2lvbiwgSWNwU3RhdGUgfSBmcm9tICcuLi8uLi9pY3AvaWNwLmludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbEljcFNlc3Npb25TdGF0ZTogSWNwU3RhdGUgPSB7XG4gIHNlc3Npb246IG51bGwsXG4gIHByZXNlbnRlcjogbnVsbCxcbiAgY2xpZW50OiBudWxsLFxuICBwYXJ0aWNpcGFudHM6IFtdXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaWNwUmVkdWNlciAoc3RhdGUgPSBpbml0aWFsSWNwU2Vzc2lvblN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogZnJvbUljcEFjdGlvbnMuSWNwQWN0aW9ucyk6IEljcFN0YXRlIHtcblxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG5cbiAgICBjYXNlIGZyb21JY3BBY3Rpb25zLlNFVF9DQVNFX0lEOiB7XG4gICAgICBjb25zdCBjYXNlSWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IHNlc3Npb24gPSB7Li4uc3RhdGUuc2Vzc2lvbiwgY2FzZUlkfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzZXNzaW9uXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUljcEFjdGlvbnMuSUNQX1NPQ0tFVF9TRVNTSU9OX0pPSU5FRDoge1xuICAgICAgY29uc3Qgc2Vzc2lvbjogSWNwU2Vzc2lvbiA9IGFjdGlvbi5wYXlsb2FkLnNlc3Npb247XG4gICAgICBjb25zdCBwYXJ0aWNpcGFudEluZm8gPSBhY3Rpb24ucGF5bG9hZC5wYXJ0aWNpcGFudEluZm87XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2Vzc2lvbixcbiAgICAgICAgY2xpZW50OiBwYXJ0aWNpcGFudEluZm8uY2xpZW50LFxuICAgICAgICBwcmVzZW50ZXI6IHBhcnRpY2lwYW50SW5mby5wcmVzZW50ZXIsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUljcEFjdGlvbnMuSUNQX1BBUlRJQ0lQQU5UX0xJU1RfVVBEQVRFRDoge1xuICAgICAgY29uc3QgdXBkYXRlZFBhcnRpY2lwYW50czogYW55ID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBwYXJ0aWNpcGFudHMgPSBPYmplY3Qua2V5cyh1cGRhdGVkUGFydGljaXBhbnRzKVxuICAgICAgICAubWFwKGlkID0+ICh7IGlkOiBpZCwgdXNlcm5hbWU6IHVwZGF0ZWRQYXJ0aWNpcGFudHNbaWRdIH0pKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwYXJ0aWNpcGFudHNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tSWNwQWN0aW9ucy5JQ1BfUFJFU0VOVEVSX1VQREFURUQ6IHtcbiAgICAgIGNvbnN0IHByZXNlbnRlciA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsIHByZXNlbnRlclxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21JY3BBY3Rpb25zLkxFQVZFX0lDUF9TT0NLRVRfU0VTU0lPTjoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxJY3BTZXNzaW9uU3RhdGVcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldEljcFNlc3Npb24gPSAoc3RhdGU6IEljcFN0YXRlKSA9PiBzdGF0ZS5zZXNzaW9uO1xuZXhwb3J0IGNvbnN0IGdldFByZXNlbnRlciA9IChzdGF0ZTogSWNwU3RhdGUpID0+IHN0YXRlLnByZXNlbnRlcjtcbmV4cG9ydCBjb25zdCBnZXRDbGllbnQgPSAoc3RhdGU6IEljcFN0YXRlKSA9PiBzdGF0ZS5jbGllbnQ7XG5leHBvcnQgY29uc3QgZ2V0UGFydGljaXBhbnRzID0gKHN0YXRlOiBJY3BTdGF0ZSkgPT4gc3RhdGUucGFydGljaXBhbnRzO1xuIl19