welcome.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <div id="welcome">
  2. <div class="center-block text-center welcome">
  3. <div ng-if="(ctrl.state === 'connecting' || ctrl.state === 'waiting') && ctrl.mode === 'scan'" class="scan">
  4. <div class="ios-only-warning" ng-if="ctrl.browser.safari">
  5. <img src="img/safari.svg" alt="Safari">
  6. <p><strong translate>common.NOTE</strong> <span translate>welcome.SAFARI</span></p>
  7. </div>
  8. <div class="notification">
  9. <p translate>welcome.NOTIFICATION_IOS_BETA</p>
  10. </div>
  11. <p class="instructions" translate>welcome.PLEASE_SCAN</p>
  12. <qrcode version="{{ ctrl.qrCode.version }}"
  13. id="connecting-code"
  14. error-correction-level="{{ ctrl.qrCode.errorCorrectionLevel }}"
  15. size="{{ ctrl.qrCode.size }}" data="{{ ctrl.qrCode.data }}"></qrcode>
  16. <div class="password-entry">
  17. <label>
  18. <p translate id="aria-label-password-create">welcome.CHOOSE_PASSWORD</p>
  19. <form autocomplete="off">
  20. <md-input-container md-no-float class="md-block">
  21. <input type="password"
  22. ng-model="ctrl.password"
  23. aria-labelledby="aria-label-password-create"
  24. translate-attr="{'placeholder': 'welcome.PASSWORD', 'aria-label': 'welcome.PASSWORD'}"
  25. autocomplete="new-password">
  26. </md-input-container>
  27. </form>
  28. </label>
  29. </div>
  30. </div>
  31. <div ng-if="(ctrl.state === 'new' || ctrl.state === 'connecting') && ctrl.mode === 'unlock'" class="unlock">
  32. <div class="notification">
  33. <p translate>welcome.NOTIFICATION_IOS_BETA</p>
  34. </div>
  35. <h2 class="instructions" translate>welcome.PLEASE_UNLOCK</h2>
  36. <div class="password-entry">
  37. <label>
  38. <p translate id="aria-label-password-reconnecte">welcome.ENTER_PASSWORD</p>
  39. <form ng-submit="ctrl.unlockConfirm()">
  40. <md-input-container md-no-float class="md-block">
  41. <input type="password"
  42. ng-model="ctrl.password"
  43. ng-disabled="ctrl.formLocked"
  44. autofocus
  45. aria-labelledby="aria-label-password-reconnect"
  46. translate-attr="{'placeholder': 'welcome.PASSWORD'}"
  47. autocomplete="current-password">
  48. </md-input-container>
  49. <md-button type="submit" class="md-raised md-primary" translate translate-attr-aria-label="welcome.BTN_RECONNECT">
  50. <span translate aria-hidden="true">welcome.BTN_RECONNECT</span>
  51. </md-button>
  52. </form>
  53. <p>
  54. <span translate>welcome.ALTERNATIVELY</span>
  55. <a href="#" ng-click="ctrl.deleteSession()" translate>welcome.FORGET_SESSION</a>.
  56. </p>
  57. </label>
  58. </div>
  59. </div>
  60. <div ng-if="ctrl.showLoadingIndicator">
  61. <h2 class="instructions" translate>welcome.CONNECTING</h2>
  62. <div class="loading">
  63. <md-progress-circular md-mode="determinate" value="{{ ctrl.progress }}" md-diameter="250" ng-aria-disable>
  64. </md-progress-circular>
  65. <div class="info" aria-live="polite" ng-aria-disable>
  66. <p class="percentage">{{ ctrl.progress }}%</p>
  67. <p ng-if="ctrl.state === 'push'" translate>welcome.WAITING_FOR_PUSH</p>
  68. <p ng-if="ctrl.state === 'peer_handshake'" translate>welcome.CONNECTING_TO_APP</p>
  69. <p ng-if="ctrl.state === 'loading' || ctrl.state === 'done'" translate>welcome.LOADING_INITIAL_DATA</p>
  70. <div class="troubleshoot" ng-if="ctrl.slowConnect">
  71. <h3 translate>troubleshooting.SLOW_CONNECT</h3>
  72. <ul>
  73. <li>
  74. <i class="material-icons md-dark md-14">help</i>
  75. <span translate>troubleshooting.PHONE_ONLINE</span>
  76. </li>
  77. <li ng-if="ctrl.state === 'push'">
  78. <i class="material-icons md-dark md-14">help</i>
  79. <span translate>troubleshooting.APP_STARTED</span>
  80. </li>
  81. <li ng-if="ctrl.state === 'push'">
  82. <i class="material-icons md-dark md-14">help</i>
  83. <span translate>troubleshooting.WEBCLIENT_ENABLED</span>
  84. </li>
  85. <li ng-if="ctrl.state === 'push'">
  86. <i class="material-icons md-dark md-14">help</i>
  87. <span translate>troubleshooting.SESSION_DELETED</span>
  88. </li>
  89. <li ng-if="ctrl.state === 'peer_handshake' && ctrl.showWebrtcTroubleshooting">
  90. <i class="material-icons md-dark md-14">help</i>
  91. <span translate>troubleshooting.PLUGIN</span>
  92. </li>
  93. <li ng-if="ctrl.state === 'peer_handshake' && ctrl.showWebrtcTroubleshooting">
  94. <i class="material-icons md-dark md-14">help</i>
  95. <span translate>troubleshooting.ADBLOCKER</span>
  96. </li>
  97. </ul>
  98. <md-button role="button" class="md-raised md-primary reload-btn" ng-click="ctrl.deleteSession()" ng-if="ctrl.state === 'push'" aria-labelledby="aria-label-forget">
  99. <span translate id="aria-label-forget">welcome.FORGET_SESSION_BTN</span>
  100. </md-button>
  101. <md-button role="button" class="md-raised md-primary reload-btn" ng-click="ctrl.reload()" aria-labelledby="aria-label-reload">
  102. <i class="material-icons">refresh</i> <span translate id="aria-label-reload">welcome.RELOAD</span>
  103. </md-button>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. <div class="manual-start" ng-if="ctrl.state === 'manual_start'">
  109. <h2 class="instructions" translate>welcome.MANUAL_START</h2>
  110. <p translate>welcome.MANUAL_START_TEXT1</p>
  111. <i class="illustration material-icons md-dark md-96">phone_android</i>
  112. <p translate>welcome.MANUAL_START_TEXT2</p>
  113. <ol>
  114. <li translate>welcome.MANUAL_START_STEP1</li>
  115. <li translate>welcome.MANUAL_START_STEP2</li>
  116. <li translate>welcome.MANUAL_START_STEP3</li>
  117. </ol>
  118. </div>
  119. <div class="already-connected" ng-if="ctrl.state === 'already_connected'">
  120. <h2 class="instructions" translate>welcome.ALREADY_CONNECTED</h2>
  121. <i class="illustration material-icons md-dark md-96">phonelink_ring</i>
  122. <p translate>welcome.ALREADY_CONNECTED_DETAILS</p>
  123. <br>
  124. <md-button class="md-raised md-primary" ng-click="ctrl.reload()">
  125. <i class="material-icons">refresh</i> <span translate>welcome.RELOAD</span>
  126. </md-button>
  127. </div>
  128. <div ng-if="ctrl.state === 'closed'">
  129. <p class="state error">
  130. <strong><span translate>common.ERROR</span>:</strong> <span translate>connecting.CONNECTION_CLOSED</span><br>
  131. <span translate>welcome.PLEASE_RELOAD</span>
  132. </p>
  133. <br>
  134. <md-button class="md-raised md-primary" ng-click="ctrl.reload()">
  135. <i class="material-icons">refresh</i> <span translate>welcome.RELOAD</span>
  136. </md-button>
  137. </div>
  138. <div ng-if="ctrl.state === 'reconnect_failed'">
  139. <p class="state error">
  140. <strong><span translate>common.ERROR</span>:</strong> <span translate>connecting.RECONNECT_FAILED</span><br>
  141. <span translate>welcome.PLEASE_RELOAD</span>
  142. </p>
  143. <br>
  144. <md-button class="md-raised md-primary" ng-click="ctrl.reload()">
  145. <i class="material-icons">refresh</i> <span translate>welcome.RELOAD</span>
  146. </md-button>
  147. </div>
  148. </div>
  149. </div>