Added inline chrome extension install. Added screen sharing button. Added new actions to handle screen sharing.

This commit is contained in:
Håvar Aambø Fosstveit
2018-03-04 22:11:03 +01:00
parent 687e85c3ec
commit 56ce361e3c
10 changed files with 240 additions and 51 deletions
+11 -3
View File
@@ -6,7 +6,8 @@ const initialState =
device : null,
canSendMic : false,
canSendWebcam : false,
canShareScreen : true,
canShareScreen : false,
needExtension : false,
canChangeWebcam : false,
webcamInProgress : false,
screenShareInProgress : false,
@@ -28,9 +29,16 @@ const me = (state = initialState, action) =>
case 'SET_MEDIA_CAPABILITIES':
{
const { canSendMic, canSendWebcam, canShareScreen } = action.payload;
const { canSendMic, canSendWebcam } = action.payload;
return { ...state, canSendMic, canSendWebcam, canShareScreen };
return { ...state, canSendMic, canSendWebcam };
}
case 'SET_SCREEN_CAPABILITIES':
{
const { canShareScreen, needExtension } = action.payload;
return { ...state, canShareScreen, needExtension };
}
case 'SET_CAN_CHANGE_WEBCAM':
+7
View File
@@ -99,6 +99,13 @@ export const disableScreenSharing = () =>
};
};
export const installExtension = () =>
{
return {
type : 'INSTALL_EXTENSION'
};
};
export const sendChatMessage = (text, name) =>
{
const message = createNewMessage(text, 'response', name);
+7
View File
@@ -123,6 +123,13 @@ export default ({ dispatch, getState }) => (next) =>
break;
}
case 'INSTALL_EXTENSION':
{
client.installExtension();
break;
}
case 'SEND_CHAT_MESSAGE':
{
const { message } = action.payload;
+10 -2
View File
@@ -30,11 +30,19 @@ export const setMe = ({ peerName, displayName, displayNameSet, device }) =>
};
};
export const setMediaCapabilities = ({ canSendMic, canSendWebcam, canShareScreen }) =>
export const setMediaCapabilities = ({ canSendMic, canSendWebcam }) =>
{
return {
type : 'SET_MEDIA_CAPABILITIES',
payload : { canSendMic, canSendWebcam, canShareScreen }
payload : { canSendMic, canSendWebcam }
};
};
export const setScreenCapabilities = ({ canShareScreen, needExtension }) =>
{
return {
type : 'SET_SCREEN_CAPABILITIES',
payload : { canShareScreen, needExtension }
};
};