diff options
author | Erik Johnston <erik@matrix.org> | 2014-11-07 10:55:28 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2014-11-07 10:55:28 +0000 |
commit | 3cb678f84cb3252f08788a31bef1a205edffde9c (patch) | |
tree | 01ad785dc284526ecd4aa1a04ce132bcf639f5ac /syweb/webclient/index.html | |
parent | Fix joining over federation (diff) | |
parent | Don't cache isWebRTCSupported because whether webRTC is supported might chang... (diff) | |
download | synapse-3cb678f84cb3252f08788a31bef1a205edffde9c.tar.xz |
Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
Diffstat (limited to 'syweb/webclient/index.html')
-rw-r--r-- | syweb/webclient/index.html | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/syweb/webclient/index.html b/syweb/webclient/index.html new file mode 100644 index 0000000000..992e8d3377 --- /dev/null +++ b/syweb/webclient/index.html @@ -0,0 +1,137 @@ +<!doctype html> +<html xmlns:ng="http://angularjs.org" ng-app="matrixWebClient" ng-controller="MatrixWebClientController"> +<head> + <title>[matrix]</title> + + <link rel="stylesheet" href="app.css"> + <link rel="stylesheet" href="mobile.css"> + <link rel="stylesheet" href="bootstrap.css"> + + <link rel="icon" href="favicon.ico"> + + <meta name="viewport" content="width=device-width"> + + <script type='text/javascript' src='js/jquery-1.8.3.min.js'></script> + <script type="text/javascript" src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script> + <script src="js/angular.js"></script> + <script src="js/angular-route.min.js"></script> + <script src="js/angular-sanitize.min.js"></script> + <script src="js/angular-animate.min.js"></script> + <script type='text/javascript' src="js/ui-bootstrap-tpls-0.11.2.js"></script> + <script type='text/javascript' src='js/ng-infinite-scroll-matrix.js'></script> + <script type='text/javascript' src='js/autofill-event.js'></script> + <script type='text/javascript' src='js/elastic.js'></script> + <script src="app.js"></script> + <script src="config.js"></script> + <script src="app-controller.js"></script> + <script src="app-directive.js"></script> + <script src="app-filter.js"></script> + <script src="home/home-controller.js"></script> + <script src="login/login-controller.js"></script> + <script src="login/register-controller.js"></script> + <script src="recents/recents-controller.js"></script> + <script src="recents/recents-filter.js"></script> + <script src="room/room-controller.js"></script> + <script src="room/room-directive.js"></script> + <script src="settings/settings-controller.js"></script> + <script src="user/user-controller.js"></script> + <script src="components/matrix/matrix-service.js"></script> + <script src="components/matrix/matrix-filter.js"></script> + <script src="components/matrix/matrix-call.js"></script> + <script src="components/matrix/matrix-phone-service.js"></script> + <script src="components/matrix/event-stream-service.js"></script> + <script src="components/matrix/event-handler-service.js"></script> + <script src="components/matrix/notification-service.js"></script> + <script src="components/matrix/model-service.js"></script> + <script src="components/matrix/presence-service.js"></script> + <script src="components/fileInput/file-input-directive.js"></script> + <script src="components/fileUpload/file-upload-service.js"></script> + <script src="components/utilities/utilities-service.js"></script> +</head> + +<body> + <div id="videoBackground" ng-class="videoMode"> + <div id="videoContainer" ng-class="videoMode"> + <div id="videoContainerPadding"></div> + <video id="localVideo" ng-class="[videoMode, currentCall.state]" ng-show="currentCall && currentCall.type == 'video' && (currentCall.state == 'connected' || currentCall.state == 'connecting' || currentCall.state == 'invite_sent' || currentCall.state == 'ended')"></video> + <video id="remoteVideo" ng-class="[videoMode, currentCall.state]" ng-show="currentCall && currentCall.type == 'video' && (currentCall.state == 'connected' || (currentCall.state == 'ended' && currentCall.didConnect))"></video> + </div> + </div> + + <div id="header"> + <!-- Do not show buttons on the login page --> + <div id="headerContent" ng-hide="'/login' == location || '/register' == location"> + <div id="callBar" ng-show="currentCall"> + <img id="callPeerImage" ng-show="currentCall.userProfile.avatar_url" ngSrc="{{ currentCall.userProfile.avatar_url }}" /> + <img class="callIcon" src="img/green_phone.png" ng-show="currentCall.state != 'ended'" /> + <img class="callIcon" id="callEndedIcon" src="img/red_phone.png" ng-show="currentCall.state == 'ended'" /> + <div id="callPeerNameAndState"> + <span id="callPeerName">{{ currentCall.userProfile.displayname }}</span> + <br /> + <span id="callState"> + <span ng-show="currentCall.state == 'invite_sent'">Calling...</span> + <span ng-show="currentCall.state == 'ringing' && currentCall && currentCall.type == 'video'">Incoming Video Call</span> + <span ng-show="currentCall.state == 'ringing' && currentCall && currentCall.type == 'voice'">Incoming Voice Call</span> + <span ng-show="currentCall.state == 'connecting'">Call Connecting...</span> + <span ng-show="currentCall.state == 'connected'">Call Connected</span> + <span ng-show="currentCall.state == 'ended' && currentCall.hangupReason == 'ice_failed'">Media Connection Failed{{ haveTurn ? "" : " (VoIP relaying unsupported by Home Server)" }}</span> + <span ng-show="currentCall.state == 'ended' && !currentCall.hangupReason && !currentCall.didConnect && currentCall.direction == 'outbound' && currentCall.hangupParty == 'remote'">Call Rejected</span> + <span ng-show="currentCall.state == 'ended' && !currentCall.hangupReason && !currentCall.didConnect && currentCall.direction == 'outbound' && currentCall.hangupParty == 'local'">Call Canceled</span> + <span ng-show="currentCall.state == 'ended' && currentCall.hangupReason == 'invite_timeout' && !currentCall.didConnect && currentCall.direction == 'outbound' && currentCall.hangupParty == 'local'">User Not Responding</span> + <span ng-show="currentCall.state == 'ended' && !currentCall.hangupReason && currentCall.didConnect && currentCall.direction == 'outbound'">Call Ended</span> + <span ng-show="currentCall.state == 'ended' && !currentCall.hangupReason && !currentCall.didConnect && currentCall.direction == 'inbound'">Call Canceled</span> + <span ng-show="currentCall.state == 'ended' && !currentCall.hangupReason && currentCall.didConnect && currentCall.direction == 'inbound'">Call Ended</span> + <span ng-show="currentCall.state == 'wait_local_media'">Waiting for media permission...</span> + </span> + </div> + <span ng-show="currentCall.state == 'ringing'"> + <button ng-click="answerCall()" ng-disabled="!isWebRTCSupported()" title="{{isWebRTCSupported() ? '' : 'Your browser does not support VoIP' }}">Answer {{ currentCall.type }} call</button> + <button ng-click="hangupCall()">Reject</button> + </span> + <button ng-click="hangupCall()" ng-show="currentCall && currentCall.state != 'ringing' && currentCall.state != 'ended' && currentCall.state != 'fledgling'">Hang up</button> + <audio id="ringAudio" loop> + <source src="media/ring.ogg" type="audio/ogg" /> + <source src="media/ring.mp3" type="audio/mpeg" /> + </audio> + <audio id="ringbackAudio" loop> + <source src="media/ringback.ogg" type="audio/ogg" /> + <source src="media/ringback.mp3" type="audio/mpeg" /> + </audio> + <audio id="callendAudio"> + <source src="media/callend.ogg" type="audio/ogg" /> + <source src="media/callend.mp3" type="audio/mpeg" /> + </audio> + <audio id="busyAudio"> + <source src="media/busy.ogg" type="audio/ogg" /> + <source src="media/busy.mp3" type="audio/mpeg" /> + </audio> + </div> + + <a href id="headerUserId" ng-click='goToUserPage(user_id)'>{{ user_id }}</a> + + <button ng-click='goToPage("/")'>Home</button> + <button ng-click='goToPage("settings")'>Settings</button> + <button ng-click="logout()">Log out</button> + </div> + </div> + + <div class="page" ng-hide="unsupportedBrowser" ng-view></div> + + <div class="page" ng-show="unsupportedBrowser"> + <div id="unsupportedBrowser" ng-show="unsupportedBrowser"> + Sorry, your browser is not supported. <br/> + Reason: {{ unsupportedBrowser.reason }} + + <br/><br/> + Your browser: <br/> + {{ unsupportedBrowser.browser }} + </div> + </div> + + <div id="footer" ng-hide="location.indexOf('/room') === 0"> + <div id="footerContent"> + © 2014 Matrix.org + </div> + </div> +</body> +</html> |