WebRTC audio/video call and conferencing server.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

187 lines
9.3 KiB

<div class="settings nicescroll">
<div class="version">{{version}}</div>
<div class="form-horizontal" on-enter="saveSettings(user)" on-escape="reset()"
<fieldset>
<legend>{{_('Settings')}}</legend>
<div class="form-group">
<label class="col-xs-4 control-label">{{_('Your picture')}}</label>
<div class="col-xs-8">
<label>
<div style="margin-bottom:5px">
<img ng-show="user.buddyPicture" ng-src="{{user.buddyPicture}}" alt="" />
</div>
<div class="collapse showTakePicture" collapse="!showTakePicture">
<div class="countdownToTakePicture" ng-show="countdown.num">
<span ng-bind="countdown.num"></span>
</div>
<video autoplay="autoplay" width="200"></video>
<canvas style="display:none" width="46" height="46"></canvas>
<a class="btn btn-xs btn-success btn-takePicture" ng-show="!previewPicture" ng-click="takePicture($event.target, true)"> {{_('Take')}}</a>
<a class="btn btn-xs btn-success btn-takePicture" ng-show="previewPicture" ng-click="takePicture($event.target, false, true)"> {{_('Retake')}}</a>
<div>
<a class="btn btn-small btn-default" ng-click="takePicture($event.target, false, false, true)"> {{_('Cancel')}}</a>
<a class="btn btn-small btn-primary" ng-disabled="!previewPicture" ng-click="takePicture($event.target)"> {{_('Set as Profile Picture')}}</a>
</div>
</div>
<div>
<a class="btn btn-small btn-success" ng-show="!showTakePicture" ng-disabled="!showTakePictureReady" ng-click="takePicture($event.target)"> {{_('Take picture')}}</a>
<span ng-show="!showTakePictureReady">
<i class="fa fa-spinner fa-spin"></i> {{_('Waiting for camera')}}
</span>
</div>
</label>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label">{{_('Your name')}}</label>
<div class="col-xs-8">
<input type="text" class="form-control" ng-model="user.displayName" placeholder="{{_('Name')}}" />
<span class="help-block">{{_('Your picture and name are visible to others.')}}</span>
</div>
</div>
<div class="form-group" ng-if="withUsers || userid">
<label class="col-xs-4 control-label">{{_('Your ID')}}</label>
<div ng-switch="withUsersMode">
<form ng-switch-when="certificate" class="col-xs-8" target="users_registration_certificate_iframe">
<div ng-if="!userid">
<keygen style="display:none" name="pubkey"/>
<label ng-if="!userid && withUsersRegistration">
<button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button>
</label>
<iframe style="display:none" name="users_registration_certificate_iframe"></iframe>
</div>
<div ng-if="userid">
<pre class="small">{{userid}}</pre>
<span class-"help-block">{{_('Authenticated by certificate. To log out you have to remove your certificate from the browser.')}}</span>
</div>
</form>
<div ng-switch-default class="col-xs-8">
<label ng-if="!userid && withUsersRegistration">
<button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button>
</label>
<pre class="small" ng-if="userid">{{userid}}</pre>
<label ng-if="userid && loadedUserlogin">
<button class="btn btn-small btn-default" ng-click="forgetUserid()">{{_('Log out')}}</button>
</label>
</div>
</div>
<div class="col-xs-8 col-xs-offset-4" ng-if="!userid && withUsersRegistration">
<span class="help-block">{{_('Only register an ID if this is your private browser.')}}</span>
</div>
</div>
<hr/>
<div ng-show="mediaSources.supported" class="form-group">
<label class="col-xs-4 control-label">{{_('Microphone')}}</label>
<div class="col-xs-8">
<select class="form-control" ng-model="user.settings.microphoneId" ng-options="mic.id as mic.label for mic in mediaSources.audio"></select>
</div>
</div>
<div ng-show="mediaSources.supported" class="form-group">
<label class="col-xs-4 control-label">{{_('Camera')}}</label>
<div class="col-xs-8">
<select class="form-control" ng-model="user.settings.cameraId" ng-options="vid.id as vid.label for vid in mediaSources.video"></select>
</div>
</div>
<div class="form-group" ng-show="isChrome">
<label class="col-xs-4 control-label">{{_('Video quality')}}</label>
<div class="col-xs-8">
<div class="btn-group">
<button type="button" class="btn btn-default" ng-model="user.settings.videoQuality" btn-radio="'low'">{{_('Low')}}</button>
<button type="button" class="btn btn-default" ng-model="user.settings.videoQuality" btn-radio="'high'">{{_('High')}}</button>
<button type="button" class="btn btn-default" ng-model="user.settings.videoQuality" btn-radio="'hd'">{{_('HD')}}</button>
</div>
</div>
</div>
<hr/>
<div class="form-group">
<label class="col-xs-4 control-label">{{_('Language')}}</label>
<div class="col-xs-8">
<select class="form-control" ng-model="user.settings.language" ng-options="l.code as l.name for l in availableLanguages | orderBy:'code'"></select>
<span class="help-block">{{_('Language changes become active on reload.')}}</span>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label">{{_('Default room')}}</label>
<div class="col-xs-8">
<input type="text" class="form-control" ng-model="user.settings.defaultRoom" placeholder="{{_('Main')}}" />
<span class="help-block">{{_('Set alternative room to join at start.')}}</span>
</div>
</div>
<div class="form-group" ng-show="desktopNotify.supported">
<label class="col-xs-4 control-label">{{_('Desktop notification')}}</label>
<div class="col-xs-8">
<label style="padding-top:5px" ng-switch="desktopNotify.level">
<a ng-switch-when="default" class="btn btn-small btn-success" ng-click="requestDesktopNotifyPermission()">{{_('Enable')}}</a>
<span class="text-error" ng-switch-when="denied"><i class="fa fa-exclamation-triangle"></i>{{_('Denied - check your browser settings')}}</span>
<span class="text-success" ng-switch-when="granted"><i class="fa fa-ok"></i>{{_('Allowed')}}</span>
</label>
</div>
</div>
<div class="collapse" collapse="showAdvancedSettings" style="padding-top:15px">
<legend>{{_('Advanced settings')}}</legend>
<div>
<div class="form-group">
<label class="col-xs-4 control-label">{{_('Stereo audio')}}</label>
<div class="col-xs-8">
<div class="checkbox">
<label>
<input type="checkbox" ng-model="user.settings.stereo"/>
</label>
</div>
</div>
</div>
<div class="form-group" ng-show="isChrome">
<label class="col-xs-4 control-label">{{_('Max video frame rate')}}</label>
<div class="col-xs-8">
<div class="btn-group">
<button type="button" class="btn btn-default" ng-model="user.settings.maxFrameRate" btn-radio="12">12</button>
<button type="button" class="btn btn-default" ng-model="user.settings.maxFrameRate" btn-radio="20">20</button>
<button type="button" class="btn btn-default" ng-model="user.settings.maxFrameRate" btn-radio="30">30</button>
<button type="button" class="btn btn-default" ng-model="user.settings.maxFrameRate" btn-radio="'auto'">{{_('auto')}}</button>
</div>
</div>
</div>
</div>
<!--<div ng-show="isChrome">
<legend>{{_('Experimental settings')}}</legend>
<div></div>
</div>-->
</div>
<div class="form-group">
<div class="col-xs-4 control-label"></div>
<div class="col-xs-8">
<a ng-click="showAdvancedSettings = !showAdvancedSettings"><span ng-show="showAdvancedSettings">{{_('Show advanced settings')}}</span><span ng-hide="showAdvancedSettings">{{_('Hide advanced settings')}}</span></a>
</div>
</div>
<hr/>
<div class="form-group">
<div class="col-xs-4 control-label"></div>
<div class="col-xs-8">
<div class="checkbox" style="padding-bottom:1em">
<label>
<input type="checkbox" ng-model="rememberSettings"> {{_('Remember settings')}}
</label>
<p class="text-warning" style="margin-top:4px" ng-show="userid &&!rememberSettings && loadedUserlogin"><strong>{{_('Your ID will still be kept - press the log out button above to delete the ID.')}}</strong></p>
</div>
<a ng-click="layout.settings=false" class="btn btn-default">{{_('Close')}}</a>
</div>
</div>
</fieldset>
</div>
</div>