made incoming calls panel prettier
This commit is contained in:
+34
-20
@@ -163,11 +163,11 @@ button.danger:focus, button.danger:hover, button.danger:active {
|
|||||||
}
|
}
|
||||||
|
|
||||||
button.positive {
|
button.positive {
|
||||||
background-color: #9de39b;
|
background-color: #71c46f;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
button.positive:focus, button.positive:hover, button.positive:active {
|
button.positive:focus, button.positive:hover, button.positive:active {
|
||||||
background-color: #7f7;
|
background-color: rgb(127, 237, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea, input {
|
textarea, input {
|
||||||
@@ -1592,7 +1592,7 @@ img.channel {
|
|||||||
background-color: rgba(255,255,255,0.90);
|
background-color: rgba(255,255,255,0.90);
|
||||||
}
|
}
|
||||||
|
|
||||||
#video-container-controls {
|
#video-container .controls {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -1647,7 +1647,7 @@ video {
|
|||||||
transform: scaleX(-1);
|
transform: scaleX(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.peer-card {
|
.caller-card {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
@@ -1659,14 +1659,19 @@ video {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
.peer-card .avatar-box {
|
.caller-card .avatar-box {
|
||||||
width: 10rem;
|
width: 10rem;
|
||||||
height: 10rem;
|
height: 10rem;
|
||||||
font-size: 6rem;
|
font-size: 6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.caller-card .avatar-box .material-icons {
|
||||||
|
font-size: 6rem;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
/* Badge with "You" for current user or peer's name. */
|
/* Badge with "You" for current user or peer's name. */
|
||||||
.call-party .title {
|
.call-party .caller-name {
|
||||||
padding: 0.15rem 0.5rem;
|
padding: 0.15rem 0.5rem;
|
||||||
border-radius: 0.35rem;
|
border-radius: 0.35rem;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
@@ -1674,18 +1679,18 @@ video {
|
|||||||
background-color: rgba(255, 255, 255, 0.7);
|
background-color: rgba(255, 255, 255, 0.7);
|
||||||
}
|
}
|
||||||
|
|
||||||
.call-party.self .title.inactive {
|
.call-party.self .caller-name.inactive {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0.25rem;
|
bottom: 0.25rem;
|
||||||
right: 0.25rem;
|
right: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.call-party .peer-card .title {
|
.caller-card .caller-name {
|
||||||
font-size: larger;
|
font-size: larger;
|
||||||
margin-top: 0.5rem;
|
margin-top: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.call-party.peer .title.inactive {
|
.call-party.peer .caller-name.inactive {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
font-size: larger;
|
font-size: larger;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
@@ -1694,25 +1699,34 @@ video {
|
|||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.video-call-accept {
|
.incoming-call {
|
||||||
border-radius: 10px;
|
position: relative;
|
||||||
background-color: green;
|
background-color: white;
|
||||||
|
box-shadow: 0.15rem 0.15rem 1.5rem rgb(0 0 0 / 45%);
|
||||||
|
border-radius: 0.3rem;
|
||||||
|
margin: auto 2rem auto 2rem;
|
||||||
|
width: fit-content;
|
||||||
|
min-width: 16rem;
|
||||||
|
max-width: 24rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.incoming-call-title {
|
.incoming-call .caller-card {
|
||||||
text-align: center;
|
position: relative;
|
||||||
padding: 10px;
|
top: initial;
|
||||||
|
left: initial;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
padding: 2rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
.incoming-call-badges {
|
.incoming-call-badges {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.incoming-call-actions {
|
|
||||||
text-align: center;
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Talk bubbles */
|
/* Talk bubbles */
|
||||||
.chat-box {
|
.chat-box {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+15
-15
@@ -13,7 +13,7 @@ import ContextMenu from '../widgets/context-menu.jsx';
|
|||||||
import ForwardDialog from '../widgets/forward-dialog.jsx';
|
import ForwardDialog from '../widgets/forward-dialog.jsx';
|
||||||
|
|
||||||
import InfoView from './info-view.jsx';
|
import InfoView from './info-view.jsx';
|
||||||
import IncomingCallView from './incoming-call-view.jsx';
|
import IncomingCallView from '../widgets/call-incoming.jsx';
|
||||||
import MessagesView from './messages-view.jsx';
|
import MessagesView from './messages-view.jsx';
|
||||||
import SidepanelView from './sidepanel-view.jsx';
|
import SidepanelView from './sidepanel-view.jsx';
|
||||||
|
|
||||||
@@ -1857,6 +1857,20 @@ class TinodeWeb extends React.Component {
|
|||||||
:
|
:
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
{this.state.callTopic && this.state.callState == CALL_STATE_INCOMING_RECEIVED ?
|
||||||
|
<IncomingCallView
|
||||||
|
tinode={this.tinode}
|
||||||
|
onClose={this.handleCallClose}
|
||||||
|
topic={this.state.callTopic}
|
||||||
|
seq={this.state.callSeq}
|
||||||
|
callState={this.state.callState}
|
||||||
|
onRinging={this.handleCallRinging}
|
||||||
|
onAcceptCall={this.handleCallAcceptCall}
|
||||||
|
onReject={this.handleCallHangup}
|
||||||
|
/>
|
||||||
|
:
|
||||||
|
null
|
||||||
|
}
|
||||||
<Alert
|
<Alert
|
||||||
visible={this.state.alertVisible}
|
visible={this.state.alertVisible}
|
||||||
title={this.state.alertParams.title}
|
title={this.state.alertParams.title}
|
||||||
@@ -2019,20 +2033,6 @@ class TinodeWeb extends React.Component {
|
|||||||
:
|
:
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
{this.state.callTopic && this.state.callState == CALL_STATE_INCOMING_RECEIVED ?
|
|
||||||
<IncomingCallView
|
|
||||||
tinode={this.tinode}
|
|
||||||
onClose={this.handleCallClose}
|
|
||||||
topic={this.state.callTopic}
|
|
||||||
seq={this.state.callSeq}
|
|
||||||
callState={this.state.callState}
|
|
||||||
onRinging={this.handleCallRinging}
|
|
||||||
onAcceptCall={this.handleCallAcceptCall}
|
|
||||||
onReject={this.handleCallHangup}
|
|
||||||
/>
|
|
||||||
:
|
|
||||||
null
|
|
||||||
}
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { FormattedMessage } from 'react-intl';
|
import { FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
import AvatarUpload from '../widgets/avatar-upload.jsx';
|
import BadgeList from './badge-list.jsx';
|
||||||
import BadgeList from '../widgets/badge-list.jsx';
|
import LetterTile from './letter-tile.jsx';
|
||||||
import MenuCancel from '../widgets/menu-cancel.jsx';
|
|
||||||
|
|
||||||
import { MAX_TITLE_LENGTH } from '../config.js';
|
import { MAX_TITLE_LENGTH, MAX_PEER_TITLE_LENGTH } from '../config.js';
|
||||||
import { CALL_STATE_INCOMING_RECEIVED } from '../constants.js';
|
import { CALL_STATE_INCOMING_RECEIVED } from '../constants.js';
|
||||||
|
|
||||||
import { makeImageUrl } from '../lib/blob-helpers.js';
|
import { makeImageUrl } from '../lib/blob-helpers.js';
|
||||||
@@ -38,6 +37,7 @@ export default class IncomingCallView extends React.Component {
|
|||||||
if (!topic) {
|
if (!topic) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.resetDesc(topic, this.props);
|
this.resetDesc(topic, this.props);
|
||||||
if (this.props.callState == CALL_STATE_INCOMING_RECEIVED) {
|
if (this.props.callState == CALL_STATE_INCOMING_RECEIVED) {
|
||||||
RING_SOUND.play();
|
RING_SOUND.play();
|
||||||
@@ -118,47 +118,35 @@ export default class IncomingCallView extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
let panelTitle = <FormattedMessage id="calls_incoming_title"
|
|
||||||
defaultMessage="Incoming Call" description="Incoming call title (Incoming call view)" />;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div id="info-view">
|
<div className="alert-container">
|
||||||
<div className="caption-panel" id="info-caption-panel">
|
<div className="incoming-call">
|
||||||
<div className="panel-title" id="info-title">{panelTitle}</div>
|
<div className="caller-card incoming">
|
||||||
<div>
|
<div className="avatar-box">
|
||||||
<MenuCancel onCancel={this.handleRejectCall} />
|
<LetterTile
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="info-view-content" className="scrollable-panel">
|
|
||||||
<div className="panel-form-column">
|
|
||||||
<center>
|
|
||||||
<AvatarUpload
|
|
||||||
tinode={this.props.tinode}
|
tinode={this.props.tinode}
|
||||||
avatar={this.state.avatar}
|
avatar={this.state.avatar || true}
|
||||||
readOnly={true}
|
topic={this.props.topic}
|
||||||
uid={this.props.topic}
|
|
||||||
title={this.state.fullName} />
|
title={this.state.fullName} />
|
||||||
</center>
|
|
||||||
<div className="group incoming-call-title">
|
|
||||||
<div className="large ellipsized">{clipStr(this.state.fullName)}</div>
|
|
||||||
</div>
|
|
||||||
<div className="group incoming-call-badges">
|
|
||||||
<BadgeList trustedBadges={this.state.trustedBadges} />
|
|
||||||
</div>
|
|
||||||
<div id="actions" className="group incoming-call-actions">
|
|
||||||
{this.props.callState == CALL_STATE_INCOMING_RECEIVED ?
|
|
||||||
<>
|
|
||||||
<button className="danger" onClick={this.handleRejectCall}>
|
|
||||||
<i className="material-icons">call_end</i>
|
|
||||||
</button>
|
|
||||||
<button className="positive" onClick={this.handleAcceptCall}>
|
|
||||||
<i className="material-icons">call</i>
|
|
||||||
</button>
|
|
||||||
</>
|
|
||||||
:
|
|
||||||
null
|
|
||||||
}
|
|
||||||
</div>
|
</div>
|
||||||
|
<div className="caller-name">{clipStr(this.state.fullName, MAX_PEER_TITLE_LENGTH)}</div>
|
||||||
|
</div>
|
||||||
|
<div className="group incoming-call-badges">
|
||||||
|
<BadgeList trustedBadges={this.state.trustedBadges} />
|
||||||
|
</div>
|
||||||
|
<div className="controls">
|
||||||
|
{this.props.callState == CALL_STATE_INCOMING_RECEIVED ?
|
||||||
|
<>
|
||||||
|
<button className="danger" onClick={this.handleRejectCall}>
|
||||||
|
<i className="material-icons">call_end</i>
|
||||||
|
</button>
|
||||||
|
<button className="positive" onClick={this.handleAcceptCall}>
|
||||||
|
<i className="material-icons">call</i>
|
||||||
|
</button>
|
||||||
|
</>
|
||||||
|
:
|
||||||
|
null
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
// CallPanel: displays local and remote viewports and controls.
|
// CallPanel displays call in progress: local and remote viewports and controls.
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
|
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
|
||||||
|
|
||||||
import LetterTile from '../widgets/letter-tile.jsx';
|
import LetterTile from './letter-tile.jsx';
|
||||||
|
|
||||||
import { CALL_WEBRTC_CONFIG, MAX_PEER_TITLE_LENGTH } from '../config.js';
|
import { CALL_WEBRTC_CONFIG, MAX_PEER_TITLE_LENGTH } from '../config.js';
|
||||||
import { CALL_STATE_OUTGOING_INITATED, CALL_STATE_IN_PROGRESS } from '../constants.js';
|
import { CALL_STATE_OUTGOING_INITATED, CALL_STATE_IN_PROGRESS } from '../constants.js';
|
||||||
@@ -353,7 +353,7 @@ class CallPanel extends React.PureComponent {
|
|||||||
<div id="video-container-panel">
|
<div id="video-container-panel">
|
||||||
<div className="call-party self">
|
<div className="call-party self">
|
||||||
<video ref={this.localRef} autoPlay muted playsInline></video>
|
<video ref={this.localRef} autoPlay muted playsInline></video>
|
||||||
<div className="title inactive">
|
<div className="caller-name inactive">
|
||||||
<FormattedMessage id="calls_you_label"
|
<FormattedMessage id="calls_you_label"
|
||||||
defaultMessage="You" description="Shown over the local video screen" />
|
defaultMessage="You" description="Shown over the local video screen" />
|
||||||
</div>
|
</div>
|
||||||
@@ -361,8 +361,8 @@ class CallPanel extends React.PureComponent {
|
|||||||
<div className="call-party peer">
|
<div className="call-party peer">
|
||||||
<video ref={this.remoteRef} autoPlay playsInline></video>
|
<video ref={this.remoteRef} autoPlay playsInline></video>
|
||||||
{remoteActive ?
|
{remoteActive ?
|
||||||
<div className="title inactive">{peerTitle}</div> :
|
<div className="caller-name inactive">{peerTitle}</div> :
|
||||||
<div className="peer-card">
|
<div className="caller-card">
|
||||||
<div className="avatar-box">
|
<div className="avatar-box">
|
||||||
<LetterTile
|
<LetterTile
|
||||||
tinode={this.props.tinode}
|
tinode={this.props.tinode}
|
||||||
@@ -370,12 +370,12 @@ class CallPanel extends React.PureComponent {
|
|||||||
topic={this.props.topic}
|
topic={this.props.topic}
|
||||||
title={this.props.title} />
|
title={this.props.title} />
|
||||||
</div>
|
</div>
|
||||||
<div className="title">{peerTitle}</div>
|
<div className="caller-name">{peerTitle}</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="video-container-controls">
|
<div className="controls">
|
||||||
<button className="danger" onClick={this.handleCloseClick}><i className="material-icons">call_end</i></button>
|
<button className="danger" onClick={this.handleCloseClick}><i className="material-icons">call_end</i></button>
|
||||||
<button className="secondary" onClick={this.handleToggleCameraClick}><i className="material-icons">{videoIcon}</i></button>
|
<button className="secondary" onClick={this.handleToggleCameraClick}><i className="material-icons">{videoIcon}</i></button>
|
||||||
<button className="secondary" onClick={this.handleToggleMicClick}><i className="material-icons">{audioIcon}</i></button>
|
<button className="secondary" onClick={this.handleToggleMicClick}><i className="material-icons">{audioIcon}</i></button>
|
||||||
|
|||||||
+214
-221
@@ -4372,210 +4372,6 @@ class CreateAccountView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Pu
|
|||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ "./src/views/incoming-call-view.jsx":
|
|
||||||
/*!******************************************!*\
|
|
||||||
!*** ./src/views/incoming-call-view.jsx ***!
|
|
||||||
\******************************************/
|
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
__webpack_require__.r(__webpack_exports__);
|
|
||||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
||||||
/* harmony export */ "default": () => (/* binding */ IncomingCallView)
|
|
||||||
/* harmony export */ });
|
|
||||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
||||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
||||||
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-intl */ "react-intl");
|
|
||||||
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_1__);
|
|
||||||
/* harmony import */ var _widgets_avatar_upload_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../widgets/avatar-upload.jsx */ "./src/widgets/avatar-upload.jsx");
|
|
||||||
/* harmony import */ var _widgets_badge_list_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../widgets/badge-list.jsx */ "./src/widgets/badge-list.jsx");
|
|
||||||
/* harmony import */ var _widgets_menu_cancel_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../widgets/menu-cancel.jsx */ "./src/widgets/menu-cancel.jsx");
|
|
||||||
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../config.js */ "./src/config.js");
|
|
||||||
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants.js */ "./src/constants.js");
|
|
||||||
/* harmony import */ var _lib_blob_helpers_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../lib/blob-helpers.js */ "./src/lib/blob-helpers.js");
|
|
||||||
/* harmony import */ var _lib_utils_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../lib/utils.js */ "./src/lib/utils.js");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const RING_SOUND = new Audio('audio/call-in.m4a');
|
|
||||||
class IncomingCallView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component) {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
topic: null,
|
|
||||||
fullName: undefined,
|
|
||||||
avatar: null,
|
|
||||||
trustedBadges: [],
|
|
||||||
previousMetaDesc: undefined
|
|
||||||
};
|
|
||||||
this.resetDesc = this.resetDesc.bind(this);
|
|
||||||
this.onMetaDesc = this.onMetaDesc.bind(this);
|
|
||||||
this.handleRejectCall = this.handleRejectCall.bind(this);
|
|
||||||
this.handleAcceptCall = this.handleAcceptCall.bind(this);
|
|
||||||
this.ringTimer = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidMount() {
|
|
||||||
const topic = this.props.tinode.getTopic(this.props.topic);
|
|
||||||
|
|
||||||
if (!topic) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.resetDesc(topic, this.props);
|
|
||||||
|
|
||||||
if (this.props.callState == _constants_js__WEBPACK_IMPORTED_MODULE_6__.CALL_STATE_INCOMING_RECEIVED) {
|
|
||||||
RING_SOUND.play();
|
|
||||||
this.ringTimer = setInterval(() => RING_SOUND.play(), 2000);
|
|
||||||
this.props.onRinging(this.props.topic, this.props.seq);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidUpdate(props) {
|
|
||||||
const topic = this.props.tinode.getTopic(props.topic);
|
|
||||||
|
|
||||||
if (!topic) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.onMetaDesc != topic.onMetaDesc) {
|
|
||||||
this.previousMetaDesc = topic.onMetaDesc;
|
|
||||||
topic.onMetaDesc = this.onMetaDesc;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.state.topic != props.topic) {
|
|
||||||
this.setState({
|
|
||||||
topic: props.topic
|
|
||||||
});
|
|
||||||
this.resetDesc(topic, props);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
componentWillUnmount() {
|
|
||||||
if (this.ringTimer != null) {
|
|
||||||
clearInterval(this.ringTimer);
|
|
||||||
RING_SOUND.pause();
|
|
||||||
}
|
|
||||||
|
|
||||||
const topic = this.props.tinode.getTopic(this.props.topic);
|
|
||||||
|
|
||||||
if (!topic) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setState({
|
|
||||||
topic: null
|
|
||||||
});
|
|
||||||
topic.onMetaDesc = this.previousMetaDesc;
|
|
||||||
}
|
|
||||||
|
|
||||||
resetDesc(topic, props) {
|
|
||||||
const defacs = topic.getDefaultAccess() || {};
|
|
||||||
const acs = topic.getAccessMode();
|
|
||||||
const badges = [];
|
|
||||||
|
|
||||||
if (topic.trusted) {
|
|
||||||
for (const [key, val] of Object.entries(topic.trusted)) {
|
|
||||||
if (val) {
|
|
||||||
badges.push(key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setState({
|
|
||||||
fullName: (0,_lib_utils_js__WEBPACK_IMPORTED_MODULE_8__.clipStr)(topic.public ? topic.public.fn : undefined, _config_js__WEBPACK_IMPORTED_MODULE_5__.MAX_TITLE_LENGTH),
|
|
||||||
avatar: (0,_lib_blob_helpers_js__WEBPACK_IMPORTED_MODULE_7__.makeImageUrl)(topic.public ? topic.public.photo : null),
|
|
||||||
trustedBadges: badges
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
onMetaDesc(desc) {
|
|
||||||
const topic = this.props.tinode.getTopic(this.props.topic);
|
|
||||||
|
|
||||||
if (!topic) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.resetDesc(topic, this.props);
|
|
||||||
|
|
||||||
if (this.previousMetaDesc && this.previousMetaDesc != this.onMetaDesc) {
|
|
||||||
this.previousMetaDesc(desc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
handleAcceptCall() {
|
|
||||||
this.props.onAcceptCall(this.props.topic);
|
|
||||||
}
|
|
||||||
|
|
||||||
handleRejectCall() {
|
|
||||||
this.props.onReject(this.props.topic, this.props.seq);
|
|
||||||
this.props.onClose();
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
let panelTitle = react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__.FormattedMessage, {
|
|
||||||
id: "calls_incoming_title",
|
|
||||||
defaultMessage: [{
|
|
||||||
"type": 0,
|
|
||||||
"value": "Incoming Call"
|
|
||||||
}]
|
|
||||||
});
|
|
||||||
return react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
||||||
id: "info-view"
|
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
||||||
className: "caption-panel",
|
|
||||||
id: "info-caption-panel"
|
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
||||||
className: "panel-title",
|
|
||||||
id: "info-title"
|
|
||||||
}, panelTitle), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_menu_cancel_jsx__WEBPACK_IMPORTED_MODULE_4__["default"], {
|
|
||||||
onCancel: this.handleRejectCall
|
|
||||||
}))), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
||||||
id: "info-view-content",
|
|
||||||
className: "scrollable-panel"
|
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
||||||
className: "panel-form-column"
|
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("center", null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_avatar_upload_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
|
||||||
tinode: this.props.tinode,
|
|
||||||
avatar: this.state.avatar,
|
|
||||||
readOnly: true,
|
|
||||||
uid: this.props.topic,
|
|
||||||
title: this.state.fullName
|
|
||||||
})), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
||||||
className: "group incoming-call-title"
|
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
||||||
className: "large ellipsized"
|
|
||||||
}, (0,_lib_utils_js__WEBPACK_IMPORTED_MODULE_8__.clipStr)(this.state.fullName))), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
||||||
className: "group incoming-call-badges"
|
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_badge_list_jsx__WEBPACK_IMPORTED_MODULE_3__["default"], {
|
|
||||||
trustedBadges: this.state.trustedBadges
|
|
||||||
})), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
||||||
id: "actions",
|
|
||||||
className: "group incoming-call-actions"
|
|
||||||
}, this.props.callState == _constants_js__WEBPACK_IMPORTED_MODULE_6__.CALL_STATE_INCOMING_RECEIVED ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
||||||
className: "danger",
|
|
||||||
onClick: this.handleRejectCall
|
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", {
|
|
||||||
className: "material-icons"
|
|
||||||
}, "call_end")), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
||||||
className: "positive",
|
|
||||||
onClick: this.handleAcceptCall
|
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", {
|
|
||||||
className: "material-icons"
|
|
||||||
}, "call"))) : null))));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "./src/views/info-view.jsx":
|
/***/ "./src/views/info-view.jsx":
|
||||||
/*!*********************************!*\
|
/*!*********************************!*\
|
||||||
!*** ./src/views/info-view.jsx ***!
|
!*** ./src/views/info-view.jsx ***!
|
||||||
@@ -7747,7 +7543,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||||||
/* harmony import */ var _widgets_context_menu_jsx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../widgets/context-menu.jsx */ "./src/widgets/context-menu.jsx");
|
/* harmony import */ var _widgets_context_menu_jsx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../widgets/context-menu.jsx */ "./src/widgets/context-menu.jsx");
|
||||||
/* harmony import */ var _widgets_forward_dialog_jsx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../widgets/forward-dialog.jsx */ "./src/widgets/forward-dialog.jsx");
|
/* harmony import */ var _widgets_forward_dialog_jsx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../widgets/forward-dialog.jsx */ "./src/widgets/forward-dialog.jsx");
|
||||||
/* harmony import */ var _info_view_jsx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./info-view.jsx */ "./src/views/info-view.jsx");
|
/* harmony import */ var _info_view_jsx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./info-view.jsx */ "./src/views/info-view.jsx");
|
||||||
/* harmony import */ var _incoming_call_view_jsx__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./incoming-call-view.jsx */ "./src/views/incoming-call-view.jsx");
|
/* harmony import */ var _widgets_call_incoming_jsx__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../widgets/call-incoming.jsx */ "./src/widgets/call-incoming.jsx");
|
||||||
/* harmony import */ var _messages_view_jsx__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./messages-view.jsx */ "./src/views/messages-view.jsx");
|
/* harmony import */ var _messages_view_jsx__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./messages-view.jsx */ "./src/views/messages-view.jsx");
|
||||||
/* harmony import */ var _sidepanel_view_jsx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./sidepanel-view.jsx */ "./src/views/sidepanel-view.jsx");
|
/* harmony import */ var _sidepanel_view_jsx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./sidepanel-view.jsx */ "./src/views/sidepanel-view.jsx");
|
||||||
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../config.js */ "./src/config.js");
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../config.js */ "./src/config.js");
|
||||||
@@ -9677,7 +9473,16 @@ class TinodeWeb extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component)
|
|||||||
searchResults: this.state.searchResults,
|
searchResults: this.state.searchResults,
|
||||||
onSearchContacts: this.handleSearchContacts,
|
onSearchContacts: this.handleSearchContacts,
|
||||||
onTopicSelected: this.handleStartTopicRequest
|
onTopicSelected: this.handleStartTopicRequest
|
||||||
}) : null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_alert_jsx__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
}) : null, true ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_call_incoming_jsx__WEBPACK_IMPORTED_MODULE_9__["default"], {
|
||||||
|
tinode: this.tinode,
|
||||||
|
onClose: this.handleCallClose,
|
||||||
|
topic: this.state.callTopic,
|
||||||
|
seq: this.state.callSeq,
|
||||||
|
callState: this.state.callState,
|
||||||
|
onRinging: this.handleCallRinging,
|
||||||
|
onAcceptCall: this.handleCallAcceptCall,
|
||||||
|
onReject: this.handleCallHangup
|
||||||
|
}) : 0, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_alert_jsx__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||||
visible: this.state.alertVisible,
|
visible: this.state.alertVisible,
|
||||||
title: this.state.alertParams.title,
|
title: this.state.alertParams.title,
|
||||||
content: this.state.alertParams.content,
|
content: this.state.alertParams.content,
|
||||||
@@ -9823,15 +9628,6 @@ class TinodeWeb extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component)
|
|||||||
onInitFind: this.tnInitFind,
|
onInitFind: this.tnInitFind,
|
||||||
onError: this.handleError,
|
onError: this.handleError,
|
||||||
showContextMenu: this.handleShowContextMenu
|
showContextMenu: this.handleShowContextMenu
|
||||||
}) : null, this.state.callTopic && this.state.callState == _constants_js__WEBPACK_IMPORTED_MODULE_13__.CALL_STATE_INCOMING_RECEIVED ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_incoming_call_view_jsx__WEBPACK_IMPORTED_MODULE_9__["default"], {
|
|
||||||
tinode: this.tinode,
|
|
||||||
onClose: this.handleCallClose,
|
|
||||||
topic: this.state.callTopic,
|
|
||||||
seq: this.state.callSeq,
|
|
||||||
callState: this.state.callState,
|
|
||||||
onRinging: this.handleCallRinging,
|
|
||||||
onAcceptCall: this.handleCallAcceptCall,
|
|
||||||
onReject: this.handleCallHangup
|
|
||||||
}) : null);
|
}) : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -11106,6 +10902,203 @@ class ButtonBack extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureCompo
|
|||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ "./src/widgets/call-incoming.jsx":
|
||||||
|
/*!***************************************!*\
|
||||||
|
!*** ./src/widgets/call-incoming.jsx ***!
|
||||||
|
\***************************************/
|
||||||
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
__webpack_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
|
/* harmony export */ "default": () => (/* binding */ IncomingCallView)
|
||||||
|
/* harmony export */ });
|
||||||
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
||||||
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||||||
|
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-intl */ "react-intl");
|
||||||
|
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_1__);
|
||||||
|
/* harmony import */ var _badge_list_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./badge-list.jsx */ "./src/widgets/badge-list.jsx");
|
||||||
|
/* harmony import */ var _letter_tile_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./letter-tile.jsx */ "./src/widgets/letter-tile.jsx");
|
||||||
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config.js */ "./src/config.js");
|
||||||
|
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants.js */ "./src/constants.js");
|
||||||
|
/* harmony import */ var _lib_blob_helpers_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../lib/blob-helpers.js */ "./src/lib/blob-helpers.js");
|
||||||
|
/* harmony import */ var _lib_utils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../lib/utils.js */ "./src/lib/utils.js");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const RING_SOUND = new Audio('audio/call-in.m4a');
|
||||||
|
class IncomingCallView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component) {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
topic: null,
|
||||||
|
fullName: undefined,
|
||||||
|
avatar: null,
|
||||||
|
trustedBadges: [],
|
||||||
|
previousMetaDesc: undefined
|
||||||
|
};
|
||||||
|
this.resetDesc = this.resetDesc.bind(this);
|
||||||
|
this.onMetaDesc = this.onMetaDesc.bind(this);
|
||||||
|
this.handleRejectCall = this.handleRejectCall.bind(this);
|
||||||
|
this.handleAcceptCall = this.handleAcceptCall.bind(this);
|
||||||
|
this.ringTimer = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
if (!this.props.tinode) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const topic = this.props.tinode.getTopic(this.props.topic);
|
||||||
|
|
||||||
|
if (!topic) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.resetDesc(topic, this.props);
|
||||||
|
|
||||||
|
if (this.props.callState == _constants_js__WEBPACK_IMPORTED_MODULE_5__.CALL_STATE_INCOMING_RECEIVED) {
|
||||||
|
RING_SOUND.play();
|
||||||
|
this.ringTimer = setInterval(() => RING_SOUND.play(), 2000);
|
||||||
|
this.props.onRinging(this.props.topic, this.props.seq);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidUpdate(props) {
|
||||||
|
const topic = this.props.tinode.getTopic(props.topic);
|
||||||
|
|
||||||
|
if (!topic) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.onMetaDesc != topic.onMetaDesc) {
|
||||||
|
this.previousMetaDesc = topic.onMetaDesc;
|
||||||
|
topic.onMetaDesc = this.onMetaDesc;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.state.topic != props.topic) {
|
||||||
|
this.setState({
|
||||||
|
topic: props.topic
|
||||||
|
});
|
||||||
|
this.resetDesc(topic, props);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
if (this.ringTimer != null) {
|
||||||
|
clearInterval(this.ringTimer);
|
||||||
|
RING_SOUND.pause();
|
||||||
|
}
|
||||||
|
|
||||||
|
const topic = this.props.tinode.getTopic(this.props.topic);
|
||||||
|
|
||||||
|
if (!topic) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
topic: null
|
||||||
|
});
|
||||||
|
topic.onMetaDesc = this.previousMetaDesc;
|
||||||
|
}
|
||||||
|
|
||||||
|
resetDesc(topic, props) {
|
||||||
|
const defacs = topic.getDefaultAccess() || {};
|
||||||
|
const acs = topic.getAccessMode();
|
||||||
|
const badges = [];
|
||||||
|
|
||||||
|
if (topic.trusted) {
|
||||||
|
for (const [key, val] of Object.entries(topic.trusted)) {
|
||||||
|
if (val) {
|
||||||
|
badges.push(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
fullName: (0,_lib_utils_js__WEBPACK_IMPORTED_MODULE_7__.clipStr)(topic.public ? topic.public.fn : undefined, _config_js__WEBPACK_IMPORTED_MODULE_4__.MAX_TITLE_LENGTH),
|
||||||
|
avatar: (0,_lib_blob_helpers_js__WEBPACK_IMPORTED_MODULE_6__.makeImageUrl)(topic.public ? topic.public.photo : null),
|
||||||
|
trustedBadges: badges
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
onMetaDesc(desc) {
|
||||||
|
const topic = this.props.tinode.getTopic(this.props.topic);
|
||||||
|
|
||||||
|
if (!topic) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.resetDesc(topic, this.props);
|
||||||
|
|
||||||
|
if (this.previousMetaDesc && this.previousMetaDesc != this.onMetaDesc) {
|
||||||
|
this.previousMetaDesc(desc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
handleAcceptCall() {
|
||||||
|
this.props.onAcceptCall(this.props.topic);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleRejectCall() {
|
||||||
|
this.props.onReject(this.props.topic, this.props.seq);
|
||||||
|
this.props.onClose();
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const panelTitle = react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__.FormattedMessage, {
|
||||||
|
id: "calls_incoming_title",
|
||||||
|
defaultMessage: [{
|
||||||
|
"type": 0,
|
||||||
|
"value": "Incoming Call"
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
const title = (0,_lib_utils_js__WEBPACK_IMPORTED_MODULE_7__.clipStr)(this.state.fullName, _config_js__WEBPACK_IMPORTED_MODULE_4__.MAX_PEER_TITLE_LENGTH) || 'Lorem Ipsum';
|
||||||
|
return react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
className: "alert-container"
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
className: "incoming-call"
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
className: "caller-card incoming"
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
className: "avatar-box"
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_letter_tile_jsx__WEBPACK_IMPORTED_MODULE_3__["default"], {
|
||||||
|
tinode: this.props.tinode,
|
||||||
|
avatar: this.state.avatar || true,
|
||||||
|
topic: this.props.topic,
|
||||||
|
title: this.state.fullName
|
||||||
|
})), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
className: "caller-name"
|
||||||
|
}, title)), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
className: "group incoming-call-badges"
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_badge_list_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
||||||
|
trustedBadges: this.state.trustedBadges
|
||||||
|
})), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
|
id: "video-container-controls",
|
||||||
|
className: "group incoming-call-actions"
|
||||||
|
}, true ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
||||||
|
className: "danger",
|
||||||
|
onClick: this.handleRejectCall
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", {
|
||||||
|
className: "material-icons"
|
||||||
|
}, "call_end")), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
||||||
|
className: "positive",
|
||||||
|
onClick: this.handleAcceptCall
|
||||||
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", {
|
||||||
|
className: "material-icons"
|
||||||
|
}, "call"))) : 0)));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
;
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
/***/ "./src/widgets/call-panel.jsx":
|
/***/ "./src/widgets/call-panel.jsx":
|
||||||
/*!************************************!*\
|
/*!************************************!*\
|
||||||
!*** ./src/widgets/call-panel.jsx ***!
|
!*** ./src/widgets/call-panel.jsx ***!
|
||||||
@@ -11121,7 +11114,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||||||
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-intl */ "react-intl");
|
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-intl */ "react-intl");
|
||||||
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_1__);
|
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_1__);
|
||||||
/* harmony import */ var _widgets_letter_tile_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../widgets/letter-tile.jsx */ "./src/widgets/letter-tile.jsx");
|
/* harmony import */ var _letter_tile_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./letter-tile.jsx */ "./src/widgets/letter-tile.jsx");
|
||||||
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../config.js */ "./src/config.js");
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../config.js */ "./src/config.js");
|
||||||
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants.js */ "./src/constants.js");
|
/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants.js */ "./src/constants.js");
|
||||||
/* harmony import */ var _lib_utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../lib/utils.js */ "./src/lib/utils.js");
|
/* harmony import */ var _lib_utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../lib/utils.js */ "./src/lib/utils.js");
|
||||||
@@ -11456,7 +11449,7 @@ class CallPanel extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureCompon
|
|||||||
muted: true,
|
muted: true,
|
||||||
playsInline: true
|
playsInline: true
|
||||||
}), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
}), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
className: "title inactive"
|
className: "caller-name inactive"
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__.FormattedMessage, {
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__.FormattedMessage, {
|
||||||
id: "calls_you_label",
|
id: "calls_you_label",
|
||||||
defaultMessage: [{
|
defaultMessage: [{
|
||||||
@@ -11470,18 +11463,18 @@ class CallPanel extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureCompon
|
|||||||
autoPlay: true,
|
autoPlay: true,
|
||||||
playsInline: true
|
playsInline: true
|
||||||
}), remoteActive ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
}), remoteActive ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
className: "title inactive"
|
className: "caller-name inactive"
|
||||||
}, peerTitle) : react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
}, peerTitle) : react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
className: "peer-card"
|
className: "caller-card"
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
className: "avatar-box"
|
className: "avatar-box"
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_letter_tile_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_letter_tile_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
||||||
tinode: this.props.tinode,
|
tinode: this.props.tinode,
|
||||||
avatar: this.props.avatar,
|
avatar: this.props.avatar,
|
||||||
topic: this.props.topic,
|
topic: this.props.topic,
|
||||||
title: this.props.title
|
title: this.props.title
|
||||||
})), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
})), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
className: "title"
|
className: "caller-name"
|
||||||
}, peerTitle)))), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
}, peerTitle)))), react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
||||||
id: "video-container-controls"
|
id: "video-container-controls"
|
||||||
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user