@stream-io/video-react-native-sdk 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/commonjs/components/Call/Lobby/Lobby.js +7 -23
- package/dist/commonjs/components/Call/Lobby/Lobby.js.map +1 -1
- package/dist/commonjs/components/Call/Lobby/LobbyFooter.js +63 -0
- package/dist/commonjs/components/Call/Lobby/LobbyFooter.js.map +1 -0
- package/dist/commonjs/components/Call/Lobby/index.js +11 -0
- package/dist/commonjs/components/Call/Lobby/index.js.map +1 -1
- package/dist/commonjs/translations/en.json +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/components/Call/Lobby/Lobby.js +7 -23
- package/dist/module/components/Call/Lobby/Lobby.js.map +1 -1
- package/dist/module/components/Call/Lobby/LobbyFooter.js +56 -0
- package/dist/module/components/Call/Lobby/LobbyFooter.js.map +1 -0
- package/dist/module/components/Call/Lobby/index.js +1 -0
- package/dist/module/components/Call/Lobby/index.js.map +1 -1
- package/dist/module/translations/en.json +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/components/Call/Lobby/Lobby.d.ts +6 -1
- package/dist/typescript/components/Call/Lobby/Lobby.d.ts.map +1 -1
- package/dist/typescript/components/Call/Lobby/LobbyFooter.d.ts +10 -0
- package/dist/typescript/components/Call/Lobby/LobbyFooter.d.ts.map +1 -0
- package/dist/typescript/components/Call/Lobby/index.d.ts +1 -0
- package/dist/typescript/components/Call/Lobby/index.d.ts.map +1 -1
- package/dist/typescript/translations/index.d.ts +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/Call/Lobby/Lobby.tsx +16 -36
- package/src/components/Call/Lobby/LobbyFooter.tsx +75 -0
- package/src/components/Call/Lobby/index.ts +1 -0
- package/src/translations/en.json +1 -1
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
### [0.1.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.1.0...@stream-io/video-react-native-sdk-0.1.1) (2023-10-04)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **react-native:** add lobby footer component ([#1091](https://github.com/GetStream/stream-video-js/issues/1091)) ([4945eb3](https://github.com/GetStream/stream-video-js/commit/4945eb358c4217f502a9735865664cef6c133a93))
|
|
11
|
+
|
|
5
12
|
## [0.1.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.0.28...@stream-io/video-react-native-sdk-0.1.0) (2023-10-04)
|
|
6
13
|
|
|
7
14
|
|
|
@@ -15,6 +15,7 @@ var _LobbyControls = require("../CallControls/LobbyControls");
|
|
|
15
15
|
var _JoinCallButton = require("./JoinCallButton");
|
|
16
16
|
var _ThemeContext = require("../../../contexts/ThemeContext");
|
|
17
17
|
var _useCallMediaStreamCleanup = require("../../../hooks/internal/useCallMediaStreamCleanup");
|
|
18
|
+
var _LobbyFooter = require("./LobbyFooter");
|
|
18
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
20
|
/**
|
|
20
21
|
* Props for the Lobby Component.
|
|
@@ -27,7 +28,8 @@ const Lobby = _ref => {
|
|
|
27
28
|
let {
|
|
28
29
|
onJoinCallHandler,
|
|
29
30
|
LobbyControls = _LobbyControls.LobbyControls,
|
|
30
|
-
JoinCallButton = _JoinCallButton.JoinCallButton
|
|
31
|
+
JoinCallButton = _JoinCallButton.JoinCallButton,
|
|
32
|
+
LobbyFooter = _LobbyFooter.LobbyFooter
|
|
31
33
|
} = _ref;
|
|
32
34
|
const {
|
|
33
35
|
theme: {
|
|
@@ -38,19 +40,16 @@ const Lobby = _ref => {
|
|
|
38
40
|
} = (0, _ThemeContext.useTheme)();
|
|
39
41
|
const connectedUser = (0, _videoReactBindings.useConnectedUser)();
|
|
40
42
|
const {
|
|
41
|
-
useCameraState
|
|
42
|
-
useCallSession
|
|
43
|
+
useCameraState
|
|
43
44
|
} = (0, _videoReactBindings.useCallStateHooks)();
|
|
44
45
|
const {
|
|
45
46
|
status: cameraStatus
|
|
46
47
|
} = useCameraState();
|
|
47
48
|
const call = (0, _videoReactBindings.useCall)();
|
|
48
|
-
const session = useCallSession();
|
|
49
49
|
const {
|
|
50
50
|
t
|
|
51
51
|
} = (0, _videoReactBindings.useI18n)();
|
|
52
52
|
const localVideoStream = call === null || call === void 0 ? void 0 : call.camera.state.mediaStream;
|
|
53
|
-
const participantsCount = session === null || session === void 0 ? void 0 : session.participants.length;
|
|
54
53
|
(0, _useCallMediaStreamCleanup.useCallMediaStreamCleanup)();
|
|
55
54
|
const connectedUserAsParticipant = {
|
|
56
55
|
userId: connectedUser === null || connectedUser === void 0 ? void 0 : connectedUser.id,
|
|
@@ -84,21 +83,10 @@ const Lobby = _ref => {
|
|
|
84
83
|
style: [styles.avatarContainer, lobby.avatarContainer]
|
|
85
84
|
}, /*#__PURE__*/_react.default.createElement(_Avatar.Avatar, {
|
|
86
85
|
participant: connectedUserAsParticipant
|
|
87
|
-
})), /*#__PURE__*/_react.default.createElement(ParticipantStatus, null)), LobbyControls && /*#__PURE__*/_react.default.createElement(LobbyControls, null)), /*#__PURE__*/_react.default.createElement(
|
|
88
|
-
|
|
89
|
-
backgroundColor: colors.static_overlay
|
|
90
|
-
}, lobby.infoContainer]
|
|
91
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
92
|
-
style: [{
|
|
93
|
-
color: colors.static_white
|
|
94
|
-
}, typefaces.subtitleBold, lobby.infoText]
|
|
95
|
-
}, t('You are about to join a call with id {{ callId }}.', {
|
|
96
|
-
callId: call === null || call === void 0 ? void 0 : call.id
|
|
97
|
-
}) + ' ' + (participantsCount ? t('{{ numberOfParticipants }} participant(s) are in the call.', {
|
|
98
|
-
numberOfParticipants: participantsCount
|
|
99
|
-
}) : t('You are first to Join the call.'))), JoinCallButton && /*#__PURE__*/_react.default.createElement(JoinCallButton, {
|
|
86
|
+
})), /*#__PURE__*/_react.default.createElement(ParticipantStatus, null)), LobbyControls && /*#__PURE__*/_react.default.createElement(LobbyControls, null)), LobbyFooter && /*#__PURE__*/_react.default.createElement(LobbyFooter, {
|
|
87
|
+
JoinCallButton: JoinCallButton,
|
|
100
88
|
onJoinCallHandler: onJoinCallHandler
|
|
101
|
-
}))
|
|
89
|
+
}));
|
|
102
90
|
};
|
|
103
91
|
exports.Lobby = Lobby;
|
|
104
92
|
const ParticipantStatus = () => {
|
|
@@ -160,10 +148,6 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
160
148
|
padding: 8
|
|
161
149
|
},
|
|
162
150
|
topView: {},
|
|
163
|
-
infoContainer: {
|
|
164
|
-
padding: 12,
|
|
165
|
-
borderRadius: 10
|
|
166
|
-
},
|
|
167
151
|
participantStatusContainer: {
|
|
168
152
|
alignSelf: 'flex-start',
|
|
169
153
|
flexDirection: 'row',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_icons","_videoReactBindings","_Avatar","_constants","_reactNativeWebrtc","_LobbyControls","_JoinCallButton","_ThemeContext","_useCallMediaStreamCleanup","obj","__esModule","default","Lobby","_ref","onJoinCallHandler","LobbyControls","DefaultLobbyControls","JoinCallButton","DefaultJoinCallButton","theme","colors","lobby","typefaces","useTheme","connectedUser","useConnectedUser","useCameraState","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_icons","_videoReactBindings","_Avatar","_constants","_reactNativeWebrtc","_LobbyControls","_JoinCallButton","_ThemeContext","_useCallMediaStreamCleanup","_LobbyFooter","obj","__esModule","default","Lobby","_ref","onJoinCallHandler","LobbyControls","DefaultLobbyControls","JoinCallButton","DefaultJoinCallButton","LobbyFooter","DefaultLobbyFooter","theme","colors","lobby","typefaces","useTheme","connectedUser","useConnectedUser","useCameraState","useCallStateHooks","status","cameraStatus","call","useCall","t","useI18n","localVideoStream","camera","state","mediaStream","useCallMediaStreamCleanup","connectedUserAsParticipant","userId","id","image","name","createElement","View","style","styles","container","backgroundColor","static_grey","Fragment","Text","heading","color","static_white","heading4","subHeading","text_low_emphasis","subtitle","videoContainer","disabled","topView","RTCView","mirror","streamURL","toURL","objectFit","StyleSheet","absoluteFillObject","avatarContainer","Avatar","participant","ParticipantStatus","exports","variants","iconSizes","useMicrophoneState","participantLabel","micStatus","participantStatusContainer","static_overlay","userNameLabel","caption","numberOfLines","audioMutedIconContainer","height","xs","width","MicOff","error","create","flex","justifyContent","paddingHorizontal","textAlign","marginBottom","LOBBY_VIDEO_VIEW_HEIGHT","borderRadius","alignItems","overflow","padding","alignSelf","flexDirection","flexShrink","marginLeft"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/Lobby.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LobbyFooter = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _videoReactBindings = require("@stream-io/video-react-bindings");
|
|
10
|
+
var _ThemeContext = require("../../../contexts/ThemeContext");
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
/**
|
|
13
|
+
* Props for the Lobby Footer in the Lobby component.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The default Lobby Footer to be used in the Lobby component.
|
|
18
|
+
*/
|
|
19
|
+
const LobbyFooter = _ref => {
|
|
20
|
+
let {
|
|
21
|
+
onJoinCallHandler,
|
|
22
|
+
JoinCallButton
|
|
23
|
+
} = _ref;
|
|
24
|
+
const {
|
|
25
|
+
theme: {
|
|
26
|
+
colors,
|
|
27
|
+
lobby,
|
|
28
|
+
typefaces
|
|
29
|
+
}
|
|
30
|
+
} = (0, _ThemeContext.useTheme)();
|
|
31
|
+
const {
|
|
32
|
+
useCallSession
|
|
33
|
+
} = (0, _videoReactBindings.useCallStateHooks)();
|
|
34
|
+
const {
|
|
35
|
+
t
|
|
36
|
+
} = (0, _videoReactBindings.useI18n)();
|
|
37
|
+
const call = (0, _videoReactBindings.useCall)();
|
|
38
|
+
const session = useCallSession();
|
|
39
|
+
const participantsCount = session === null || session === void 0 ? void 0 : session.participants.length;
|
|
40
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
41
|
+
style: [styles.infoContainer, {
|
|
42
|
+
backgroundColor: colors.static_overlay
|
|
43
|
+
}, lobby.infoContainer]
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
45
|
+
style: [{
|
|
46
|
+
color: colors.static_white
|
|
47
|
+
}, typefaces.subtitleBold, lobby.infoText]
|
|
48
|
+
}, t('You are about to join a call with id {{ callId }}.', {
|
|
49
|
+
callId: call === null || call === void 0 ? void 0 : call.id
|
|
50
|
+
}) + ' ' + (participantsCount ? t('{{ numberOfParticipants }} participant(s) are in the call.', {
|
|
51
|
+
numberOfParticipants: participantsCount
|
|
52
|
+
}) : t('You are first to join the call.'))), JoinCallButton && /*#__PURE__*/_react.default.createElement(JoinCallButton, {
|
|
53
|
+
onJoinCallHandler: onJoinCallHandler
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
56
|
+
exports.LobbyFooter = LobbyFooter;
|
|
57
|
+
const styles = _reactNative.StyleSheet.create({
|
|
58
|
+
infoContainer: {
|
|
59
|
+
padding: 12,
|
|
60
|
+
borderRadius: 10
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=LobbyFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoReactBindings","_ThemeContext","obj","__esModule","default","LobbyFooter","_ref","onJoinCallHandler","JoinCallButton","theme","colors","lobby","typefaces","useTheme","useCallSession","useCallStateHooks","t","useI18n","call","useCall","session","participantsCount","participants","length","createElement","View","style","styles","infoContainer","backgroundColor","static_overlay","Text","color","static_white","subtitleBold","infoText","callId","id","numberOfParticipants","exports","StyleSheet","create","padding","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/LobbyFooter.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAH,OAAA;AAA0D,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1D;AACA;AACA;;AAMA;AACA;AACA;AACO,MAAMG,WAAW,GAAGC,IAAA,IAGH;EAAA,IAHI;IAC1BC,iBAAiB;IACjBC;EACgB,CAAC,GAAAF,IAAA;EACjB,MAAM;IACJG,KAAK,EAAE;MAAEC,MAAM;MAAEC,KAAK;MAAEC;IAAU;EACpC,CAAC,GAAG,IAAAC,sBAAQ,EAAC,CAAC;EACd,MAAM;IAAEC;EAAe,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAE9C,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,2BAAO,EAAC,CAAC;EAEvB,MAAMC,IAAI,GAAG,IAAAC,2BAAO,EAAC,CAAC;EACtB,MAAMC,OAAO,GAAGN,cAAc,CAAC,CAAC;EAEhC,MAAMO,iBAAiB,GAAGD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,YAAY,CAACC,MAAM;EAEtD,oBACE3B,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACzB,YAAA,CAAA0B,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAACC,aAAa,EACpB;MAAEC,eAAe,EAAEnB,MAAM,CAACoB;IAAe,CAAC,EAC1CnB,KAAK,CAACiB,aAAa;EACnB,gBAEFhC,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAACzB,YAAA,CAAAgC,IAAI;IACHL,KAAK,EAAE,CACL;MAAEM,KAAK,EAAEtB,MAAM,CAACuB;IAAa,CAAC,EAC9BrB,SAAS,CAACsB,YAAY,EACtBvB,KAAK,CAACwB,QAAQ;EACd,GAEDnB,CAAC,CAAC,oDAAoD,EAAE;IACvDoB,MAAM,EAAElB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmB;EAChB,CAAC,CAAC,GACA,GAAG,IACFhB,iBAAiB,GACdL,CAAC,CAAC,4DAA4D,EAAE;IAC9DsB,oBAAoB,EAAEjB;EACxB,CAAC,CAAC,GACFL,CAAC,CAAC,iCAAiC,CAAC,CACtC,CAAC,EACNR,cAAc,iBACbZ,MAAA,CAAAQ,OAAA,CAAAoB,aAAA,CAAChB,cAAc;IAACD,iBAAiB,EAAEA;EAAkB,CAAE,CAErD,CAAC;AAEX,CAAC;AAACgC,OAAA,CAAAlC,WAAA,GAAAA,WAAA;AAEF,MAAMsB,MAAM,GAAGa,uBAAU,CAACC,MAAM,CAAC;EAC/Bb,aAAa,EAAE;IACbc,OAAO,EAAE,EAAE;IACXC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC"}
|
|
@@ -25,4 +25,15 @@ Object.keys(_JoinCallButton).forEach(function (key) {
|
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
|
+
var _LobbyFooter = require("./LobbyFooter");
|
|
29
|
+
Object.keys(_LobbyFooter).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _LobbyFooter[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _LobbyFooter[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
28
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Lobby","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_JoinCallButton"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/index.ts"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"names":["_Lobby","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_JoinCallButton","_LobbyFooter"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/index.ts"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,YAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,YAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,YAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,YAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"Join": "Join",
|
|
7
7
|
"You": "You",
|
|
8
8
|
"Reconnecting...": "Reconnecting...",
|
|
9
|
-
"You are first to
|
|
9
|
+
"You are first to join the call.": "You are first to join the call.",
|
|
10
10
|
"Participants ({{ numberOfParticipants }})": "Participants ({{ numberOfParticipants }})",
|
|
11
11
|
"{{ userName }} is sharing their screen": "{{ userName }} is sharing their screen",
|
|
12
12
|
"{{ numberOfParticipants }} participant(s) are in the call.": "{{ numberOfParticipants }} participant(s) are in the call.",
|
package/dist/commonjs/version.js
CHANGED
|
@@ -9,6 +9,7 @@ import { LobbyControls as DefaultLobbyControls } from '../CallControls/LobbyCont
|
|
|
9
9
|
import { JoinCallButton as DefaultJoinCallButton } from './JoinCallButton';
|
|
10
10
|
import { useTheme } from '../../../contexts/ThemeContext';
|
|
11
11
|
import { useCallMediaStreamCleanup } from '../../../hooks/internal/useCallMediaStreamCleanup';
|
|
12
|
+
import { LobbyFooter as DefaultLobbyFooter } from './LobbyFooter';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Props for the Lobby Component.
|
|
@@ -21,7 +22,8 @@ export const Lobby = _ref => {
|
|
|
21
22
|
let {
|
|
22
23
|
onJoinCallHandler,
|
|
23
24
|
LobbyControls = DefaultLobbyControls,
|
|
24
|
-
JoinCallButton = DefaultJoinCallButton
|
|
25
|
+
JoinCallButton = DefaultJoinCallButton,
|
|
26
|
+
LobbyFooter = DefaultLobbyFooter
|
|
25
27
|
} = _ref;
|
|
26
28
|
const {
|
|
27
29
|
theme: {
|
|
@@ -32,19 +34,16 @@ export const Lobby = _ref => {
|
|
|
32
34
|
} = useTheme();
|
|
33
35
|
const connectedUser = useConnectedUser();
|
|
34
36
|
const {
|
|
35
|
-
useCameraState
|
|
36
|
-
useCallSession
|
|
37
|
+
useCameraState
|
|
37
38
|
} = useCallStateHooks();
|
|
38
39
|
const {
|
|
39
40
|
status: cameraStatus
|
|
40
41
|
} = useCameraState();
|
|
41
42
|
const call = useCall();
|
|
42
|
-
const session = useCallSession();
|
|
43
43
|
const {
|
|
44
44
|
t
|
|
45
45
|
} = useI18n();
|
|
46
46
|
const localVideoStream = call === null || call === void 0 ? void 0 : call.camera.state.mediaStream;
|
|
47
|
-
const participantsCount = session === null || session === void 0 ? void 0 : session.participants.length;
|
|
48
47
|
useCallMediaStreamCleanup();
|
|
49
48
|
const connectedUserAsParticipant = {
|
|
50
49
|
userId: connectedUser === null || connectedUser === void 0 ? void 0 : connectedUser.id,
|
|
@@ -78,21 +77,10 @@ export const Lobby = _ref => {
|
|
|
78
77
|
style: [styles.avatarContainer, lobby.avatarContainer]
|
|
79
78
|
}, /*#__PURE__*/React.createElement(Avatar, {
|
|
80
79
|
participant: connectedUserAsParticipant
|
|
81
|
-
})), /*#__PURE__*/React.createElement(ParticipantStatus, null)), LobbyControls && /*#__PURE__*/React.createElement(LobbyControls, null)), /*#__PURE__*/React.createElement(
|
|
82
|
-
|
|
83
|
-
backgroundColor: colors.static_overlay
|
|
84
|
-
}, lobby.infoContainer]
|
|
85
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
86
|
-
style: [{
|
|
87
|
-
color: colors.static_white
|
|
88
|
-
}, typefaces.subtitleBold, lobby.infoText]
|
|
89
|
-
}, t('You are about to join a call with id {{ callId }}.', {
|
|
90
|
-
callId: call === null || call === void 0 ? void 0 : call.id
|
|
91
|
-
}) + ' ' + (participantsCount ? t('{{ numberOfParticipants }} participant(s) are in the call.', {
|
|
92
|
-
numberOfParticipants: participantsCount
|
|
93
|
-
}) : t('You are first to Join the call.'))), JoinCallButton && /*#__PURE__*/React.createElement(JoinCallButton, {
|
|
80
|
+
})), /*#__PURE__*/React.createElement(ParticipantStatus, null)), LobbyControls && /*#__PURE__*/React.createElement(LobbyControls, null)), LobbyFooter && /*#__PURE__*/React.createElement(LobbyFooter, {
|
|
81
|
+
JoinCallButton: JoinCallButton,
|
|
94
82
|
onJoinCallHandler: onJoinCallHandler
|
|
95
|
-
}))
|
|
83
|
+
}));
|
|
96
84
|
};
|
|
97
85
|
const ParticipantStatus = () => {
|
|
98
86
|
const {
|
|
@@ -153,10 +141,6 @@ const styles = StyleSheet.create({
|
|
|
153
141
|
padding: 8
|
|
154
142
|
},
|
|
155
143
|
topView: {},
|
|
156
|
-
infoContainer: {
|
|
157
|
-
padding: 12,
|
|
158
|
-
borderRadius: 10
|
|
159
|
-
},
|
|
160
144
|
participantStatusContainer: {
|
|
161
145
|
alignSelf: 'flex-start',
|
|
162
146
|
flexDirection: 'row',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","Text","View","MicOff","useCall","useCallStateHooks","useConnectedUser","useI18n","Avatar","LOBBY_VIDEO_VIEW_HEIGHT","RTCView","LobbyControls","DefaultLobbyControls","JoinCallButton","DefaultJoinCallButton","useTheme","useCallMediaStreamCleanup","Lobby","_ref","onJoinCallHandler","theme","colors","lobby","typefaces","connectedUser","useCameraState","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","Text","View","MicOff","useCall","useCallStateHooks","useConnectedUser","useI18n","Avatar","LOBBY_VIDEO_VIEW_HEIGHT","RTCView","LobbyControls","DefaultLobbyControls","JoinCallButton","DefaultJoinCallButton","useTheme","useCallMediaStreamCleanup","LobbyFooter","DefaultLobbyFooter","Lobby","_ref","onJoinCallHandler","theme","colors","lobby","typefaces","connectedUser","useCameraState","status","cameraStatus","call","t","localVideoStream","camera","state","mediaStream","connectedUserAsParticipant","userId","id","image","name","createElement","style","styles","container","backgroundColor","static_grey","Fragment","heading","color","static_white","heading4","subHeading","text_low_emphasis","subtitle","videoContainer","disabled","topView","mirror","streamURL","toURL","objectFit","absoluteFillObject","avatarContainer","participant","ParticipantStatus","variants","iconSizes","useMicrophoneState","participantLabel","micStatus","participantStatusContainer","static_overlay","userNameLabel","caption","numberOfLines","audioMutedIconContainer","height","xs","width","error","create","flex","justifyContent","paddingHorizontal","textAlign","marginBottom","borderRadius","alignItems","overflow","padding","alignSelf","flexDirection","flexShrink","marginLeft"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/Lobby.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View, StyleSheet, Text } from 'react-native';
|
|
3
|
+
import { useCall, useCallStateHooks, useI18n } from '@stream-io/video-react-bindings';
|
|
4
|
+
import { useTheme } from '../../../contexts/ThemeContext';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Props for the Lobby Footer in the Lobby component.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The default Lobby Footer to be used in the Lobby component.
|
|
12
|
+
*/
|
|
13
|
+
export const LobbyFooter = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
onJoinCallHandler,
|
|
16
|
+
JoinCallButton
|
|
17
|
+
} = _ref;
|
|
18
|
+
const {
|
|
19
|
+
theme: {
|
|
20
|
+
colors,
|
|
21
|
+
lobby,
|
|
22
|
+
typefaces
|
|
23
|
+
}
|
|
24
|
+
} = useTheme();
|
|
25
|
+
const {
|
|
26
|
+
useCallSession
|
|
27
|
+
} = useCallStateHooks();
|
|
28
|
+
const {
|
|
29
|
+
t
|
|
30
|
+
} = useI18n();
|
|
31
|
+
const call = useCall();
|
|
32
|
+
const session = useCallSession();
|
|
33
|
+
const participantsCount = session === null || session === void 0 ? void 0 : session.participants.length;
|
|
34
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
35
|
+
style: [styles.infoContainer, {
|
|
36
|
+
backgroundColor: colors.static_overlay
|
|
37
|
+
}, lobby.infoContainer]
|
|
38
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
39
|
+
style: [{
|
|
40
|
+
color: colors.static_white
|
|
41
|
+
}, typefaces.subtitleBold, lobby.infoText]
|
|
42
|
+
}, t('You are about to join a call with id {{ callId }}.', {
|
|
43
|
+
callId: call === null || call === void 0 ? void 0 : call.id
|
|
44
|
+
}) + ' ' + (participantsCount ? t('{{ numberOfParticipants }} participant(s) are in the call.', {
|
|
45
|
+
numberOfParticipants: participantsCount
|
|
46
|
+
}) : t('You are first to join the call.'))), JoinCallButton && /*#__PURE__*/React.createElement(JoinCallButton, {
|
|
47
|
+
onJoinCallHandler: onJoinCallHandler
|
|
48
|
+
}));
|
|
49
|
+
};
|
|
50
|
+
const styles = StyleSheet.create({
|
|
51
|
+
infoContainer: {
|
|
52
|
+
padding: 12,
|
|
53
|
+
borderRadius: 10
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=LobbyFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","Text","useCall","useCallStateHooks","useI18n","useTheme","LobbyFooter","_ref","onJoinCallHandler","JoinCallButton","theme","colors","lobby","typefaces","useCallSession","t","call","session","participantsCount","participants","length","createElement","style","styles","infoContainer","backgroundColor","static_overlay","color","static_white","subtitleBold","infoText","callId","id","numberOfParticipants","create","padding","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/LobbyFooter.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,IAAI,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACrD,SACEC,OAAO,EACPC,iBAAiB,EACjBC,OAAO,QACF,iCAAiC;AACxC,SAASC,QAAQ,QAAQ,gCAAgC;;AAEzD;AACA;AACA;;AAMA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGC,IAAA,IAGH;EAAA,IAHI;IAC1BC,iBAAiB;IACjBC;EACgB,CAAC,GAAAF,IAAA;EACjB,MAAM;IACJG,KAAK,EAAE;MAAEC,MAAM;MAAEC,KAAK;MAAEC;IAAU;EACpC,CAAC,GAAGR,QAAQ,CAAC,CAAC;EACd,MAAM;IAAES;EAAe,CAAC,GAAGX,iBAAiB,CAAC,CAAC;EAE9C,MAAM;IAAEY;EAAE,CAAC,GAAGX,OAAO,CAAC,CAAC;EAEvB,MAAMY,IAAI,GAAGd,OAAO,CAAC,CAAC;EACtB,MAAMe,OAAO,GAAGH,cAAc,CAAC,CAAC;EAEhC,MAAMI,iBAAiB,GAAGD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,YAAY,CAACC,MAAM;EAEtD,oBACEtB,KAAA,CAAAuB,aAAA,CAACtB,IAAI;IACHuB,KAAK,EAAE,CACLC,MAAM,CAACC,aAAa,EACpB;MAAEC,eAAe,EAAEd,MAAM,CAACe;IAAe,CAAC,EAC1Cd,KAAK,CAACY,aAAa;EACnB,gBAEF1B,KAAA,CAAAuB,aAAA,CAACpB,IAAI;IACHqB,KAAK,EAAE,CACL;MAAEK,KAAK,EAAEhB,MAAM,CAACiB;IAAa,CAAC,EAC9Bf,SAAS,CAACgB,YAAY,EACtBjB,KAAK,CAACkB,QAAQ;EACd,GAEDf,CAAC,CAAC,oDAAoD,EAAE;IACvDgB,MAAM,EAAEf,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgB;EAChB,CAAC,CAAC,GACA,GAAG,IACFd,iBAAiB,GACdH,CAAC,CAAC,4DAA4D,EAAE;IAC9DkB,oBAAoB,EAAEf;EACxB,CAAC,CAAC,GACFH,CAAC,CAAC,iCAAiC,CAAC,CACtC,CAAC,EACNN,cAAc,iBACbX,KAAA,CAAAuB,aAAA,CAACZ,cAAc;IAACD,iBAAiB,EAAEA;EAAkB,CAAE,CAErD,CAAC;AAEX,CAAC;AAED,MAAMe,MAAM,GAAGvB,UAAU,CAACkC,MAAM,CAAC;EAC/BV,aAAa,EAAE;IACbW,OAAO,EAAE,EAAE;IACXC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/index.ts"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,kBAAkB"}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["components/Call/Lobby/index.ts"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,kBAAkB;AAChC,cAAc,eAAe"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"Join": "Join",
|
|
7
7
|
"You": "You",
|
|
8
8
|
"Reconnecting...": "Reconnecting...",
|
|
9
|
-
"You are first to
|
|
9
|
+
"You are first to join the call.": "You are first to join the call.",
|
|
10
10
|
"Participants ({{ numberOfParticipants }})": "Participants ({{ numberOfParticipants }})",
|
|
11
11
|
"{{ userName }} is sharing their screen": "{{ userName }} is sharing their screen",
|
|
12
12
|
"{{ numberOfParticipants }} participant(s) are in the call.": "{{ numberOfParticipants }} participant(s) are in the call.",
|
package/dist/module/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '0.1.
|
|
1
|
+
export const version = '0.1.1';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ComponentType } from 'react';
|
|
2
2
|
import { JoinCallButtonProps } from './JoinCallButton';
|
|
3
|
+
import { LobbyFooterProps } from './LobbyFooter';
|
|
3
4
|
/**
|
|
4
5
|
* Props for the Lobby Component.
|
|
5
6
|
*/
|
|
@@ -16,9 +17,13 @@ export type LobbyProps = {
|
|
|
16
17
|
* Component to customize the Join Call Button in the Lobby component.
|
|
17
18
|
*/
|
|
18
19
|
JoinCallButton?: ComponentType<JoinCallButtonProps> | null;
|
|
20
|
+
/**
|
|
21
|
+
* Component to customize the Lobby Footer in the Lobby component.
|
|
22
|
+
*/
|
|
23
|
+
LobbyFooter?: ComponentType<LobbyFooterProps> | null;
|
|
19
24
|
};
|
|
20
25
|
/**
|
|
21
26
|
* Components that acts as a pre-join view for the call. Where you can preview your video and audio. Check for call details and check for number of participants already in the call.
|
|
22
27
|
*/
|
|
23
|
-
export declare const Lobby: ({ onJoinCallHandler, LobbyControls, JoinCallButton, }: LobbyProps) => JSX.Element;
|
|
28
|
+
export declare const Lobby: ({ onJoinCallHandler, LobbyControls, JoinCallButton, LobbyFooter, }: LobbyProps) => JSX.Element;
|
|
24
29
|
//# sourceMappingURL=Lobby.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lobby.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/Lobby/Lobby.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAc7C,OAAO,EAEL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Lobby.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/Lobby/Lobby.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAc7C,OAAO,EAEL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAEL,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACzC;;OAEG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,uEAKf,UAAU,gBAmFZ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LobbyProps } from './Lobby';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the Lobby Footer in the Lobby component.
|
|
4
|
+
*/
|
|
5
|
+
export type LobbyFooterProps = Pick<LobbyProps, 'onJoinCallHandler' | 'JoinCallButton'>;
|
|
6
|
+
/**
|
|
7
|
+
* The default Lobby Footer to be used in the Lobby component.
|
|
8
|
+
*/
|
|
9
|
+
export declare const LobbyFooter: ({ onJoinCallHandler, JoinCallButton, }: LobbyFooterProps) => JSX.Element;
|
|
10
|
+
//# sourceMappingURL=LobbyFooter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LobbyFooter.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/Lobby/LobbyFooter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AASrC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,UAAU,EACV,mBAAmB,GAAG,gBAAgB,CACvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2CAGrB,gBAAgB,gBA2ClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/Lobby/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/Lobby/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
|
@@ -7,7 +7,7 @@ export declare const translations: {
|
|
|
7
7
|
Join: string;
|
|
8
8
|
You: string;
|
|
9
9
|
"Reconnecting...": string;
|
|
10
|
-
"You are first to
|
|
10
|
+
"You are first to join the call.": string;
|
|
11
11
|
"Participants ({{ numberOfParticipants }})": string;
|
|
12
12
|
"{{ userName }} is sharing their screen": string;
|
|
13
13
|
"{{ numberOfParticipants }} participant(s) are in the call.": string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "0.1.
|
|
1
|
+
export declare const version = "0.1.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -19,6 +19,10 @@ import {
|
|
|
19
19
|
import { useTheme } from '../../../contexts/ThemeContext';
|
|
20
20
|
import { useCallMediaStreamCleanup } from '../../../hooks/internal/useCallMediaStreamCleanup';
|
|
21
21
|
import type { MediaStream } from '@stream-io/react-native-webrtc';
|
|
22
|
+
import {
|
|
23
|
+
LobbyFooter as DefaultLobbyFooter,
|
|
24
|
+
LobbyFooterProps,
|
|
25
|
+
} from './LobbyFooter';
|
|
22
26
|
|
|
23
27
|
/**
|
|
24
28
|
* Props for the Lobby Component.
|
|
@@ -36,6 +40,10 @@ export type LobbyProps = {
|
|
|
36
40
|
* Component to customize the Join Call Button in the Lobby component.
|
|
37
41
|
*/
|
|
38
42
|
JoinCallButton?: ComponentType<JoinCallButtonProps> | null;
|
|
43
|
+
/**
|
|
44
|
+
* Component to customize the Lobby Footer in the Lobby component.
|
|
45
|
+
*/
|
|
46
|
+
LobbyFooter?: ComponentType<LobbyFooterProps> | null;
|
|
39
47
|
};
|
|
40
48
|
|
|
41
49
|
/**
|
|
@@ -45,20 +53,19 @@ export const Lobby = ({
|
|
|
45
53
|
onJoinCallHandler,
|
|
46
54
|
LobbyControls = DefaultLobbyControls,
|
|
47
55
|
JoinCallButton = DefaultJoinCallButton,
|
|
56
|
+
LobbyFooter = DefaultLobbyFooter,
|
|
48
57
|
}: LobbyProps) => {
|
|
49
58
|
const {
|
|
50
59
|
theme: { colors, lobby, typefaces },
|
|
51
60
|
} = useTheme();
|
|
52
61
|
const connectedUser = useConnectedUser();
|
|
53
|
-
const { useCameraState
|
|
62
|
+
const { useCameraState } = useCallStateHooks();
|
|
54
63
|
const { status: cameraStatus } = useCameraState();
|
|
55
64
|
const call = useCall();
|
|
56
|
-
const session = useCallSession();
|
|
57
65
|
const { t } = useI18n();
|
|
58
66
|
const localVideoStream = call?.camera.state.mediaStream as unknown as
|
|
59
67
|
| MediaStream
|
|
60
68
|
| undefined;
|
|
61
|
-
const participantsCount = session?.participants.length;
|
|
62
69
|
|
|
63
70
|
useCallMediaStreamCleanup();
|
|
64
71
|
|
|
@@ -122,35 +129,12 @@ export const Lobby = ({
|
|
|
122
129
|
{LobbyControls && <LobbyControls />}
|
|
123
130
|
</>
|
|
124
131
|
)}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
{
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
>
|
|
132
|
-
<Text
|
|
133
|
-
style={[
|
|
134
|
-
{ color: colors.static_white },
|
|
135
|
-
typefaces.subtitleBold,
|
|
136
|
-
lobby.infoText,
|
|
137
|
-
]}
|
|
138
|
-
>
|
|
139
|
-
{t('You are about to join a call with id {{ callId }}.', {
|
|
140
|
-
callId: call?.id,
|
|
141
|
-
}) +
|
|
142
|
-
' ' +
|
|
143
|
-
(participantsCount
|
|
144
|
-
? t(
|
|
145
|
-
'{{ numberOfParticipants }} participant(s) are in the call.',
|
|
146
|
-
{ numberOfParticipants: participantsCount },
|
|
147
|
-
)
|
|
148
|
-
: t('You are first to Join the call.'))}
|
|
149
|
-
</Text>
|
|
150
|
-
{JoinCallButton && (
|
|
151
|
-
<JoinCallButton onJoinCallHandler={onJoinCallHandler} />
|
|
152
|
-
)}
|
|
153
|
-
</View>
|
|
132
|
+
{LobbyFooter && (
|
|
133
|
+
<LobbyFooter
|
|
134
|
+
JoinCallButton={JoinCallButton}
|
|
135
|
+
onJoinCallHandler={onJoinCallHandler}
|
|
136
|
+
/>
|
|
137
|
+
)}
|
|
154
138
|
</View>
|
|
155
139
|
);
|
|
156
140
|
};
|
|
@@ -229,10 +213,6 @@ const styles = StyleSheet.create({
|
|
|
229
213
|
padding: 8,
|
|
230
214
|
},
|
|
231
215
|
topView: {},
|
|
232
|
-
infoContainer: {
|
|
233
|
-
padding: 12,
|
|
234
|
-
borderRadius: 10,
|
|
235
|
-
},
|
|
236
216
|
participantStatusContainer: {
|
|
237
217
|
alignSelf: 'flex-start',
|
|
238
218
|
flexDirection: 'row',
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { LobbyProps } from './Lobby';
|
|
3
|
+
import { View, StyleSheet, Text } from 'react-native';
|
|
4
|
+
import {
|
|
5
|
+
useCall,
|
|
6
|
+
useCallStateHooks,
|
|
7
|
+
useI18n,
|
|
8
|
+
} from '@stream-io/video-react-bindings';
|
|
9
|
+
import { useTheme } from '../../../contexts/ThemeContext';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Props for the Lobby Footer in the Lobby component.
|
|
13
|
+
*/
|
|
14
|
+
export type LobbyFooterProps = Pick<
|
|
15
|
+
LobbyProps,
|
|
16
|
+
'onJoinCallHandler' | 'JoinCallButton'
|
|
17
|
+
>;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The default Lobby Footer to be used in the Lobby component.
|
|
21
|
+
*/
|
|
22
|
+
export const LobbyFooter = ({
|
|
23
|
+
onJoinCallHandler,
|
|
24
|
+
JoinCallButton,
|
|
25
|
+
}: LobbyFooterProps) => {
|
|
26
|
+
const {
|
|
27
|
+
theme: { colors, lobby, typefaces },
|
|
28
|
+
} = useTheme();
|
|
29
|
+
const { useCallSession } = useCallStateHooks();
|
|
30
|
+
|
|
31
|
+
const { t } = useI18n();
|
|
32
|
+
|
|
33
|
+
const call = useCall();
|
|
34
|
+
const session = useCallSession();
|
|
35
|
+
|
|
36
|
+
const participantsCount = session?.participants.length;
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<View
|
|
40
|
+
style={[
|
|
41
|
+
styles.infoContainer,
|
|
42
|
+
{ backgroundColor: colors.static_overlay },
|
|
43
|
+
lobby.infoContainer,
|
|
44
|
+
]}
|
|
45
|
+
>
|
|
46
|
+
<Text
|
|
47
|
+
style={[
|
|
48
|
+
{ color: colors.static_white },
|
|
49
|
+
typefaces.subtitleBold,
|
|
50
|
+
lobby.infoText,
|
|
51
|
+
]}
|
|
52
|
+
>
|
|
53
|
+
{t('You are about to join a call with id {{ callId }}.', {
|
|
54
|
+
callId: call?.id,
|
|
55
|
+
}) +
|
|
56
|
+
' ' +
|
|
57
|
+
(participantsCount
|
|
58
|
+
? t('{{ numberOfParticipants }} participant(s) are in the call.', {
|
|
59
|
+
numberOfParticipants: participantsCount,
|
|
60
|
+
})
|
|
61
|
+
: t('You are first to join the call.'))}
|
|
62
|
+
</Text>
|
|
63
|
+
{JoinCallButton && (
|
|
64
|
+
<JoinCallButton onJoinCallHandler={onJoinCallHandler} />
|
|
65
|
+
)}
|
|
66
|
+
</View>
|
|
67
|
+
);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
const styles = StyleSheet.create({
|
|
71
|
+
infoContainer: {
|
|
72
|
+
padding: 12,
|
|
73
|
+
borderRadius: 10,
|
|
74
|
+
},
|
|
75
|
+
});
|
package/src/translations/en.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"Join": "Join",
|
|
7
7
|
"You": "You",
|
|
8
8
|
"Reconnecting...": "Reconnecting...",
|
|
9
|
-
"You are first to
|
|
9
|
+
"You are first to join the call.": "You are first to join the call.",
|
|
10
10
|
"Participants ({{ numberOfParticipants }})": "Participants ({{ numberOfParticipants }})",
|
|
11
11
|
"{{ userName }} is sharing their screen": "{{ userName }} is sharing their screen",
|
|
12
12
|
"{{ numberOfParticipants }} participant(s) are in the call.": "{{ numberOfParticipants }} participant(s) are in the call.",
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '0.1.
|
|
1
|
+
export const version = '0.1.1';
|