2014-06-29 22:15:27 +00:00
|
|
|
<!DOCTYPE html>
|
2014-01-12 14:07:30 +00:00
|
|
|
<html>
|
|
|
|
<head>
|
2015-03-15 23:04:39 +00:00
|
|
|
<meta charset='utf-8'>
|
2015-08-25 23:47:15 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='two-column'>
|
|
|
|
<div class='gutter'>
|
2017-01-04 03:37:56 +00:00
|
|
|
<div class='network-status-container'></div>
|
2016-03-21 03:02:38 +00:00
|
|
|
<div class='title-bar active' id='header'>
|
2016-03-22 18:01:04 +00:00
|
|
|
<div class='header-buttons right'>
|
2016-03-18 22:54:40 +00:00
|
|
|
<div class='vertical-align'>
|
|
|
|
<div class='global-menu menu'>
|
2016-04-07 17:24:36 +00:00
|
|
|
<button class='hamburger' alt='signal menu'></button>
|
2016-03-18 22:54:40 +00:00
|
|
|
<ul class='menu-list'>
|
2016-08-24 23:19:24 +00:00
|
|
|
<li class='showSettings'>{{ settings }}</li>
|
2016-03-24 19:57:04 +00:00
|
|
|
<li class='show-debug-log'>{{ submitDebugLog }}</li>
|
|
|
|
<li class='restart-signal'>{{ restartSignal }}</li>
|
2016-03-18 22:54:40 +00:00
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
2016-03-18 18:11:36 +00:00
|
|
|
</div>
|
|
|
|
<h1>Signal</h1>
|
|
|
|
<div class='tool-bar clearfix'>
|
2016-07-05 00:54:02 +00:00
|
|
|
<input type='search' class='search' placeholder='{{ searchForPeopleOrGroups }}' dir='auto'>
|
2016-04-13 01:00:33 +00:00
|
|
|
<span class='search-icon'></span>
|
2016-03-18 18:11:36 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-02-22 18:47:48 +00:00
|
|
|
<div class='content'>
|
2017-04-11 23:24:06 +00:00
|
|
|
<div class='conversations inbox'></div>
|
|
|
|
<div class='conversations search-results hide'>
|
2016-02-22 18:47:48 +00:00
|
|
|
<div class='new-contact contact hide'></div>
|
|
|
|
</div>
|
2015-10-15 19:10:03 +00:00
|
|
|
</div>
|
2015-08-25 23:47:15 +00:00
|
|
|
</div>
|
2015-11-27 23:43:45 +00:00
|
|
|
<div class='conversation-stack'>
|
2015-11-28 22:41:58 +00:00
|
|
|
<div class='conversation placeholder'>
|
2016-08-31 01:27:54 +00:00
|
|
|
<div class='conversation-header'></div>
|
|
|
|
<div class='content'>
|
|
|
|
<img src='/images/icon_128.png' />
|
|
|
|
<h3>{{ welcomeToSignal }}</h3>
|
|
|
|
<p>{{ selectAContact }}</p>
|
|
|
|
</div>
|
2015-11-28 22:41:58 +00:00
|
|
|
</div>
|
2015-11-27 23:43:45 +00:00
|
|
|
</div>
|
2015-08-25 23:47:15 +00:00
|
|
|
</script>
|
2017-05-19 01:33:35 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='scroll-down-button-view'>
|
|
|
|
<button class='text {{ cssClass }}' alt='{{ moreBelow }}'>
|
|
|
|
<div class='icon'></div>
|
|
|
|
</button>
|
|
|
|
</script>
|
2017-05-17 21:32:03 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='last-seen-indicator-view'>
|
2017-05-31 23:08:32 +00:00
|
|
|
<div class='bar'>
|
|
|
|
<div class='text'>
|
|
|
|
{{ unreadMessages }}
|
|
|
|
</div>
|
2017-05-17 21:32:03 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2016-04-04 03:06:27 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='expired_alert'>
|
|
|
|
<a target='_blank' href='https://chrome.google.com/webstore/detail/bikioccmkafdpakkkcpdbppfkghcmihk'>
|
|
|
|
<button class='upgrade'>{{ upgrade }}</button>
|
|
|
|
</a>
|
|
|
|
{{ expiredWarning }}
|
|
|
|
</script>
|
2016-09-07 00:11:44 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='toast'>
|
|
|
|
{{ toastMessage }}
|
2016-04-04 03:06:27 +00:00
|
|
|
</script>
|
2015-11-21 00:58:52 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='hint'>
|
2015-11-28 01:34:02 +00:00
|
|
|
<p> {{ content }}</p>
|
2015-11-21 00:58:52 +00:00
|
|
|
</script>
|
2015-03-15 23:04:39 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='conversation'>
|
2016-08-29 06:57:33 +00:00
|
|
|
<div class='conversation-header {{ avatar.color }}'>
|
2016-03-22 18:01:04 +00:00
|
|
|
<div class='header-buttons left'>
|
2016-03-21 22:37:53 +00:00
|
|
|
<div class='vertical-align'>
|
|
|
|
<button class='back hide'></button>
|
2016-03-22 18:01:04 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class='header-buttons right'>
|
|
|
|
<div class='vertical-align'>
|
2016-03-21 22:37:53 +00:00
|
|
|
<div class='conversation-menu menu'>
|
2016-04-07 17:24:36 +00:00
|
|
|
<button class='hamburger' alt='conversation menu'></button>
|
2016-03-21 22:37:53 +00:00
|
|
|
<ul class='menu-list'>
|
|
|
|
{{#group}}
|
2016-03-24 19:57:04 +00:00
|
|
|
<li class='view-members'>{{ view-members }}</li>
|
|
|
|
<!-- <li class='update-group'>Update group</li> -->
|
|
|
|
<!-- <li class='leave-group'>Leave group</li> -->
|
2016-03-21 22:37:53 +00:00
|
|
|
{{/group}}
|
|
|
|
{{^group}}
|
2016-03-24 19:57:04 +00:00
|
|
|
<li class='end-session'>{{ end-session }}</li>
|
|
|
|
<li class='verify-identity'>{{ verify-identity }}</li>
|
2016-03-21 22:37:53 +00:00
|
|
|
{{/group}}
|
2016-10-10 16:58:51 +00:00
|
|
|
<li class='disappearing-messages'>{{ disappearing-messages }}</li>
|
2016-03-24 19:57:04 +00:00
|
|
|
<li class='destroy'>{{ destroy }}</li>
|
2016-03-21 22:37:53 +00:00
|
|
|
</ul>
|
2016-03-18 22:54:40 +00:00
|
|
|
</div>
|
2016-09-28 23:47:57 +00:00
|
|
|
<div class='timer-menu menu'>
|
|
|
|
<button class='clock' alt='timer menu'></button>
|
|
|
|
<ul class='menu-list'>
|
|
|
|
{{ #timer_options }}
|
|
|
|
<li data-seconds={{ attributes.seconds }}>{{ getName }}</li>
|
|
|
|
{{ /timer_options }}
|
|
|
|
</ul>
|
|
|
|
</div>
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
2016-03-21 22:37:53 +00:00
|
|
|
</div>
|
|
|
|
<span class='conversation-title'>
|
|
|
|
{{ #name }}
|
2016-07-05 00:54:02 +00:00
|
|
|
<span class='conversation-name' dir='auto'>{{ name }}</span>
|
2016-03-21 22:37:53 +00:00
|
|
|
{{ /name }}
|
|
|
|
{{ #number }}
|
|
|
|
<span class='conversation-number'>{{ number }}</span>
|
|
|
|
{{ /number }}
|
|
|
|
</span>
|
|
|
|
{{> avatar }}
|
|
|
|
</div>
|
|
|
|
<div class='main panel'>
|
2016-03-23 20:40:21 +00:00
|
|
|
<div class='discussion-container'>
|
2016-03-19 00:59:54 +00:00
|
|
|
<div class='bar-container hide'>
|
|
|
|
<div class='bar active progress-bar-striped progress-bar'></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-03-15 23:04:39 +00:00
|
|
|
|
2015-12-26 06:17:30 +00:00
|
|
|
<div class='bottom-bar' id='footer'>
|
2016-03-22 00:17:39 +00:00
|
|
|
<form class='send clearfix'>
|
2015-10-29 18:04:21 +00:00
|
|
|
<div class='attachment-previews'></div>
|
2016-08-15 22:36:29 +00:00
|
|
|
<div class='flex'>
|
|
|
|
<div class='choose-file'>
|
|
|
|
<button class='paperclip thumbnail'></button>
|
|
|
|
<input type='file' class='file-input'>
|
|
|
|
</div>
|
|
|
|
<textarea class='send-message' placeholder='{{ send-message }}' rows='1' dir='auto'></textarea>
|
|
|
|
<div class='capture-audio'>
|
2017-05-22 17:09:54 +00:00
|
|
|
<button class='microphone'></button>
|
2016-08-15 22:36:29 +00:00
|
|
|
</div>
|
2017-05-26 16:50:23 +00:00
|
|
|
<div class='android-length-warning'>
|
|
|
|
{{ android-length-warning }}
|
|
|
|
</div>
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
2015-10-02 18:21:10 +00:00
|
|
|
</div>
|
2015-03-15 23:04:39 +00:00
|
|
|
</script>
|
2016-08-15 22:36:29 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='recorder'>
|
|
|
|
<button class='finish'><span class='icon'></span></button>
|
|
|
|
<span class='time'>0:00</span>
|
|
|
|
<button class='close'><span class='icon'></span></button>
|
|
|
|
</script>
|
2016-06-20 18:37:26 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='lightbox'>
|
|
|
|
<div class='content'>
|
|
|
|
<div class='controls'>
|
|
|
|
<a class='x close' alt='Close image.' href='#'></a>
|
|
|
|
<a class='save' alt='Save as...' href='#'></a>
|
|
|
|
</div>
|
|
|
|
<img class='image' src='{{ url }}' />
|
|
|
|
</div>
|
|
|
|
</script>
|
2015-05-26 23:54:21 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='confirmation-dialog'>
|
2016-02-19 01:28:34 +00:00
|
|
|
<div class="content">
|
2016-01-23 16:00:07 +00:00
|
|
|
<div class='message'>{{ message }}</div>
|
|
|
|
<div class='buttons'>
|
|
|
|
<button class='cancel'>{{ cancel }}</button>
|
|
|
|
<button class='ok'>{{ ok }}</button>
|
|
|
|
</div>
|
2015-05-26 23:54:21 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2015-03-15 23:04:39 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='attachment-preview'>
|
2015-12-26 06:17:30 +00:00
|
|
|
<img src='{{ source }}' class='preview' />
|
2016-04-07 17:56:59 +00:00
|
|
|
<a class='x close' alt='remove attachment' href='#'></a>
|
2015-03-15 23:04:39 +00:00
|
|
|
</script>
|
2017-04-18 22:20:45 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='file-view'>
|
2017-05-11 23:45:26 +00:00
|
|
|
<div class='icon {{ mediaType }}'></div>
|
2017-05-09 17:10:50 +00:00
|
|
|
<div class='text'>
|
2017-05-11 23:45:26 +00:00
|
|
|
<div class='fileName' title='{{ altText }}'>
|
|
|
|
{{ fileName }}
|
|
|
|
</div>
|
2017-05-09 17:10:50 +00:00
|
|
|
<div class='fileSize'>{{ fileSize }}</div>
|
|
|
|
</div>
|
2017-04-18 22:20:45 +00:00
|
|
|
</script>
|
2016-03-22 21:47:17 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='hasRetry'>
|
|
|
|
{{ messageNotSent }}
|
|
|
|
<span href='#' class='retry'>{{ resend }}</span>
|
|
|
|
</script>
|
2016-09-18 06:55:05 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='keychange'>
|
|
|
|
<span class='content' dir='auto'>{{ content }}</span>
|
|
|
|
</script>
|
2015-03-15 23:04:39 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='message'>
|
2015-03-23 21:01:18 +00:00
|
|
|
{{> avatar }}
|
2016-08-29 06:57:33 +00:00
|
|
|
<div class='bubble {{ avatar.color }}'>
|
2016-07-05 00:54:02 +00:00
|
|
|
<div class='sender' dir='auto'>{{ sender }}</div>
|
2015-03-15 23:04:39 +00:00
|
|
|
<div class='attachments'></div>
|
2016-08-29 08:11:13 +00:00
|
|
|
<p class='content' dir='auto'>
|
|
|
|
{{ #message }}<span class='body'>{{ message }}</span>{{ /message }}
|
|
|
|
</p>
|
2015-03-15 23:04:39 +00:00
|
|
|
<div class='meta'>
|
2015-11-06 22:58:26 +00:00
|
|
|
<span class='timestamp' data-timestamp={{ timestamp }}></span>
|
2015-10-28 21:12:40 +00:00
|
|
|
<span class='status hide'></span>
|
2016-09-23 23:50:03 +00:00
|
|
|
<span class='timer'></span>
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
2016-09-23 23:50:03 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='hourglass'>
|
|
|
|
<span class='hourglass'><span class='sand'></span></span>
|
|
|
|
</script>
|
2016-09-27 06:15:20 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='expirationTimerUpdate'>
|
|
|
|
<span class='content'>{{ content }}</span>
|
|
|
|
</script>
|
2015-09-04 20:11:21 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='new-group-update'>
|
2015-08-26 22:13:14 +00:00
|
|
|
<div class='conversation-header'>
|
2015-03-15 23:04:39 +00:00
|
|
|
<button class='back'></button>
|
|
|
|
<button class='send check'></button>
|
2015-08-26 22:13:14 +00:00
|
|
|
<span class='conversation-title'>Update group</span>
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
2015-09-04 20:11:21 +00:00
|
|
|
{{> group_info_input }}
|
2015-03-15 23:04:39 +00:00
|
|
|
<div class='container'>
|
2015-09-04 20:11:21 +00:00
|
|
|
<div class='scrollable'></div>
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2015-09-10 07:46:50 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='identicon-svg'>
|
2015-12-26 06:17:30 +00:00
|
|
|
<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'>
|
|
|
|
<circle cx='50' cy='50' r='40' fill='{{ color }}' />
|
|
|
|
<text text-anchor='middle' fill='white' font-size='24px' x='50' y='50' baseline-shift='-8px'>
|
2015-09-10 07:46:50 +00:00
|
|
|
{{ content }}
|
|
|
|
</text>
|
|
|
|
</svg>
|
|
|
|
</script>
|
2015-03-23 21:01:18 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='avatar'>
|
2016-08-29 06:57:33 +00:00
|
|
|
<span aria-hidden class='avatar
|
|
|
|
{{ ^avatar.url }}
|
|
|
|
{{ avatar.color }}
|
|
|
|
{{ /avatar.url }}
|
|
|
|
'
|
|
|
|
{{ #avatar.url }}
|
|
|
|
style='background-image: url("{{ avatar.url }}");'
|
|
|
|
{{ /avatar.url }}
|
|
|
|
>
|
2015-06-19 00:05:00 +00:00
|
|
|
{{ avatar.content }}
|
2015-09-03 20:33:17 +00:00
|
|
|
</span>
|
2015-03-23 21:01:18 +00:00
|
|
|
</script>
|
2015-03-15 23:04:39 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='contact_pill'>
|
|
|
|
<span>{{ name }}</span><span class='remove'>x</span>
|
|
|
|
</script>
|
2015-09-03 20:33:17 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='contact_name_and_number'>
|
2016-07-05 00:54:02 +00:00
|
|
|
<h3 class='name' dir='auto'> {{ title }} </h3>
|
2015-09-03 20:33:17 +00:00
|
|
|
<div class='number'>{{ number }}</div>
|
|
|
|
</script>
|
2015-03-15 23:04:39 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='contact'>
|
2015-09-03 20:33:17 +00:00
|
|
|
{{> avatar }}
|
|
|
|
<div class='contact-details'> {{> contact_name_and_number }} </div>
|
|
|
|
</script>
|
2015-12-06 03:21:15 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='new-contact'>
|
|
|
|
{{> avatar }}
|
|
|
|
<div class='contact-details'>
|
|
|
|
{{> contact_name_and_number }}
|
|
|
|
</div>
|
|
|
|
</script>
|
2015-09-05 01:44:33 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='conversation-preview'>
|
2015-03-23 21:01:18 +00:00
|
|
|
{{> avatar }}
|
2015-03-15 23:04:39 +00:00
|
|
|
<div class='contact-details'>
|
2016-07-15 00:24:23 +00:00
|
|
|
<span class='last-timestamp' data-timestamp='{{ last_message_timestamp }}' dir='auto' > </span>
|
2015-10-23 22:47:32 +00:00
|
|
|
{{> contact_name_and_number }}
|
2015-11-09 20:07:40 +00:00
|
|
|
{{ #unreadCount }}
|
|
|
|
<span class='unread-count'>{{ unreadCount }}</span>
|
|
|
|
{{ /unreadCount }}
|
2016-04-01 18:36:28 +00:00
|
|
|
{{ #last_message }}
|
2016-07-05 00:54:02 +00:00
|
|
|
<p class='last-message' dir='auto'> {{ last_message }} </p>
|
2016-04-01 18:36:28 +00:00
|
|
|
{{ /last_message }}
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='phone-number'>
|
|
|
|
<div class='phone-input-form'>
|
|
|
|
<div class='number-container'>
|
|
|
|
<input type='tel' class='number' placeholder="Phone Number" />
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
<script type='text/x-tmpl-mustache' id='file-size-modal'>
|
2015-12-26 04:38:16 +00:00
|
|
|
{{ file-size-warning }}
|
|
|
|
({{ limit }}{{ units }})
|
2015-03-15 23:04:39 +00:00
|
|
|
</script>
|
2015-12-05 06:39:15 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='attachment-type-modal'>
|
|
|
|
Sorry, your attachment has a type, {{type}}, that is not currently supported.
|
|
|
|
</script>
|
2015-03-15 23:04:39 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='message-detail'>
|
2015-02-18 02:03:05 +00:00
|
|
|
<div class='container'>
|
2016-02-15 00:46:28 +00:00
|
|
|
{{ #hasConflict }}
|
|
|
|
<div class='hasConflict clearfix'>
|
|
|
|
<div class='conflicts'>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{ /hasConflict }}
|
2015-02-18 02:03:05 +00:00
|
|
|
<div class='message-container'></div>
|
|
|
|
<div class='info'>
|
|
|
|
<table>
|
2016-02-15 07:30:14 +00:00
|
|
|
{{ #errors }}
|
|
|
|
<tr>
|
|
|
|
<td class='label'>{{ errorLabel }}</td>
|
|
|
|
<td> <span class='error-message'>{{message}}</span> </td>
|
|
|
|
</tr>
|
|
|
|
{{ /errors }}
|
2015-12-25 06:55:53 +00:00
|
|
|
<tr>
|
|
|
|
<td class='label'>{{ sent }}</td>
|
|
|
|
<td> {{ sent_at }}</td>
|
|
|
|
</tr>
|
2015-12-21 07:32:39 +00:00
|
|
|
{{ #received_at }}
|
2015-12-25 06:55:53 +00:00
|
|
|
<tr>
|
|
|
|
<td class='label'>{{ received }}</td>
|
|
|
|
<td> {{ received_at }}</td>
|
|
|
|
</tr>
|
2015-12-21 07:32:39 +00:00
|
|
|
{{ /received_at }}
|
2015-10-10 23:41:44 +00:00
|
|
|
<tr> <td class='tofrom label'>{{tofrom}}</td> </tr>
|
2015-02-18 02:03:05 +00:00
|
|
|
</table>
|
2015-10-10 23:41:44 +00:00
|
|
|
<div class='contacts'>
|
|
|
|
</div>
|
2015-02-18 02:03:05 +00:00
|
|
|
</div>
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2015-08-04 19:15:37 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='group-member-list'>
|
2016-03-21 22:37:53 +00:00
|
|
|
<div class='container'></div>
|
2015-08-04 19:15:37 +00:00
|
|
|
</script>
|
2016-03-23 19:33:50 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='key_verification_panel'>
|
2015-03-15 23:04:39 +00:00
|
|
|
<div class='container'>
|
2016-03-23 19:33:50 +00:00
|
|
|
{{> key_verification }}
|
2016-03-24 19:33:41 +00:00
|
|
|
<p> {{> link_to_support }} </p>
|
2016-03-23 19:33:50 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
<script type='text/x-tmpl-mustache' id='key_verification'>
|
2016-09-18 22:16:39 +00:00
|
|
|
{{ ^has_their_key }}
|
2016-01-20 03:01:47 +00:00
|
|
|
<div class='placeholder'>{{ their_key_unknown }}</div>
|
2016-09-18 22:16:39 +00:00
|
|
|
{{ /has_their_key }}
|
2016-03-22 01:18:10 +00:00
|
|
|
{{ #has_their_key }}
|
2016-09-18 22:16:39 +00:00
|
|
|
<label> {{ yourSafetyNumberWith }} </label>
|
2016-10-21 17:22:17 +00:00
|
|
|
<!--<div class='qr'></div>-->
|
2016-03-22 01:18:10 +00:00
|
|
|
<div class='key'>
|
2016-09-18 22:16:39 +00:00
|
|
|
{{ #chunks }} <span>{{ . }}</span> {{ /chunks }}
|
2016-03-22 01:18:10 +00:00
|
|
|
</div>
|
|
|
|
{{ /has_their_key }}
|
2015-03-15 23:04:39 +00:00
|
|
|
</script>
|
|
|
|
<!-- index -->
|
2015-09-04 20:11:21 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='group_info_input'>
|
|
|
|
<div class='group-info-input'>
|
|
|
|
<div class='group-avatar'>
|
2015-10-29 18:04:21 +00:00
|
|
|
<div class='choose-file attachment-previews thumbnail'>
|
|
|
|
{{> avatar }}
|
|
|
|
</div>
|
2015-09-04 20:11:21 +00:00
|
|
|
<input type='file' name='avatar' class='file-input'>
|
|
|
|
</div>
|
2015-12-26 06:17:30 +00:00
|
|
|
<input type='text' name='name' class='name' placeholder='Group Name' value='{{ name }}'>
|
2015-09-04 20:11:21 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2015-03-15 23:04:39 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='new-conversation'>
|
2015-08-26 22:13:14 +00:00
|
|
|
<div class='conversation-header'>
|
2015-03-15 23:04:39 +00:00
|
|
|
<button class='back'></button>
|
|
|
|
<button class='create check hide'></button>
|
2015-08-26 22:13:14 +00:00
|
|
|
<span class='conversation-title'>New Message</span>
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
2015-09-04 20:11:21 +00:00
|
|
|
{{> group_info_input }}
|
2015-08-26 22:13:14 +00:00
|
|
|
<div class='container'>
|
2015-03-15 23:04:39 +00:00
|
|
|
<div class='scrollable'>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
<script type='text/x-tmpl-mustache' id='recipients-input'>
|
|
|
|
<div class='recipients-container'>
|
|
|
|
<span class='recipients'></span>
|
2016-07-05 00:54:02 +00:00
|
|
|
<input type='text' class='search' placeholder='{{ placeholder }}' dir='auto' />
|
2015-03-15 23:04:39 +00:00
|
|
|
</div>
|
|
|
|
<div class='results'>
|
|
|
|
<div class='new-contact contact hide'></div>
|
|
|
|
<div class='contacts'></div>
|
|
|
|
</div>
|
|
|
|
</script>
|
2015-02-18 02:03:05 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='generic-error'>
|
|
|
|
<p>{{ message }}</p>
|
|
|
|
</script>
|
2016-04-14 23:42:42 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='error-icon'>
|
|
|
|
<span class='error-icon'>
|
|
|
|
</span>
|
|
|
|
{{ #message }}
|
|
|
|
<span class='error-message'>{{message}}</span>
|
|
|
|
{{ /message }}
|
|
|
|
</script>
|
2015-02-18 02:03:05 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='contact-detail'>
|
2016-02-15 06:41:52 +00:00
|
|
|
<div class='clearfix'>
|
2015-03-23 21:01:18 +00:00
|
|
|
{{> avatar }}
|
2016-04-14 23:42:42 +00:00
|
|
|
<div class='contact-details'>
|
|
|
|
{{ #errors }}
|
|
|
|
<div class='error-icon-container'>
|
|
|
|
<span class='error-icon'></span>
|
|
|
|
</div>
|
|
|
|
{{ /errors }}
|
2016-07-05 00:54:02 +00:00
|
|
|
<span class='name' dir='auto'>{{ name }}</span>
|
2016-04-14 23:42:42 +00:00
|
|
|
{{ #errors }}
|
|
|
|
{{ #message }}
|
|
|
|
<p class='error-message'>{{message}}</p>
|
|
|
|
{{ /message }}
|
|
|
|
{{ /errors }}
|
|
|
|
</div>
|
2015-02-18 02:03:05 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2016-03-24 19:33:41 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='link_to_support'>
|
|
|
|
<a href='http://support.whispersystems.org/hc/articles/213134107' target='_blank'>
|
|
|
|
{{ learnMore }}
|
|
|
|
</a>
|
|
|
|
</script>
|
2015-02-18 02:03:05 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='key-conflict-dialogue'>
|
2016-03-24 19:33:41 +00:00
|
|
|
<h3 class='header'>{{ newIdentity }}</h3>
|
|
|
|
<div class='content clearfix'>
|
2016-04-14 23:42:42 +00:00
|
|
|
<div class='clearfix'>
|
|
|
|
{{> avatar }}
|
|
|
|
<span class='name'>{{ name }}</span>
|
|
|
|
<button class='resolve'>{{ resolve }}</button>
|
|
|
|
<a href='#' class='hideKeys hide'> {{ hideKeys }} </a>
|
|
|
|
<a href='#' class='showKeys'> {{ showKeys }} </a>
|
|
|
|
</div>
|
2016-03-24 19:33:41 +00:00
|
|
|
<div class='keys hide'>
|
|
|
|
<p>
|
|
|
|
{{ message }}
|
|
|
|
{{> link_to_support }}
|
|
|
|
</p>
|
|
|
|
</div>
|
2015-02-18 02:03:05 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2015-09-16 06:28:00 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='debug-log'>
|
2016-02-19 19:26:32 +00:00
|
|
|
<div class='content'>
|
2016-02-22 20:17:54 +00:00
|
|
|
<div>
|
2016-04-07 17:56:59 +00:00
|
|
|
<a class='x close' alt='close debug log' href='#'></a>
|
2016-02-22 20:17:54 +00:00
|
|
|
<h1> {{ title }} </h1>
|
|
|
|
<p> {{ debugLogExplanation }}</p>
|
|
|
|
</div>
|
|
|
|
<textarea rows='5'></textarea>
|
|
|
|
<div class='buttons'>
|
2016-09-08 18:25:46 +00:00
|
|
|
<button class='grey submit'>{{ submit }}</button>
|
2016-02-22 20:17:54 +00:00
|
|
|
</div>
|
2016-02-19 19:26:32 +00:00
|
|
|
<div class='result'>
|
|
|
|
</div>
|
2015-09-16 06:28:00 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2016-04-10 01:33:47 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='debug-log-link'>
|
|
|
|
<div class='input-group clearfix'>
|
|
|
|
<input type='text' class='link' readonly value='{{ url }}' />
|
|
|
|
<a class='open' alt='open in a new browser tab' target='_blank' href='{{ url }}'></a>
|
|
|
|
</div>
|
2016-04-10 03:36:50 +00:00
|
|
|
<p>
|
|
|
|
<a class='report-link' target='_blank'
|
|
|
|
href='https://github.com/WhisperSystems/Signal-Desktop/issues/new/'>
|
|
|
|
{{ reportIssue }}
|
|
|
|
</a>
|
|
|
|
</p>
|
2016-04-10 01:33:47 +00:00
|
|
|
</script>
|
2016-02-18 00:08:17 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='settings'>
|
|
|
|
<div class='content'>
|
2016-04-07 17:56:59 +00:00
|
|
|
<a class='x close' alt='close settings' href='#'></a>
|
2016-06-16 22:33:18 +00:00
|
|
|
<h2>{{ settings }}</h2>
|
|
|
|
<hr>
|
2016-08-29 07:03:37 +00:00
|
|
|
<div class='theme-settings'>
|
2016-09-23 12:12:07 +00:00
|
|
|
<h3>{{ theme }}</h3>
|
2016-08-29 07:03:37 +00:00
|
|
|
<div>
|
|
|
|
<input type='radio' name='theme' id='theme-setting-android' value='android'>
|
|
|
|
<label for='theme-setting-android'>Android</label>
|
|
|
|
</div>
|
2016-11-17 16:21:03 +00:00
|
|
|
<div>
|
|
|
|
<input type='radio' name='theme' id='theme-setting-android-dark' value='android-dark'>
|
|
|
|
<label for='theme-setting-android-dark'>{{ themeAndroidDark }}</label>
|
|
|
|
</div>
|
2016-08-29 07:03:37 +00:00
|
|
|
<div>
|
|
|
|
<input type='radio' name='theme' id='theme-setting-ios' value='ios'/>
|
|
|
|
<label for='theme-setting-ios'>iOS</label>
|
|
|
|
</div>
|
2016-02-18 00:08:17 +00:00
|
|
|
</div>
|
2016-08-29 07:03:37 +00:00
|
|
|
<hr>
|
|
|
|
<div class='notification-settings'>
|
|
|
|
<h3>{{ notifications }}</h3>
|
|
|
|
<p>{{ notificationSettingsDialog }}</p>
|
|
|
|
<div>
|
|
|
|
<input type='radio' name='notifications' id='notification-setting-message' value='message'>
|
|
|
|
<label for='notification-setting-message'>{{ nameAndMessage }} </label>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<input type='radio' name='notifications' id='notification-setting-name' value='name'/>
|
|
|
|
<label for='notification-setting-name'>{{ nameOnly }} </label>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<input type='radio' name='notifications' id='notification-setting-count' value='count'/>
|
|
|
|
<label for='notification-setting-count'>{{ noNameOrMessage }} </label>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<input type='radio' name='notifications' id='notification-setting-off' value='off'/>
|
|
|
|
<label for='notification-setting-off'>{{ disableNotifications }} </label>
|
|
|
|
</div>
|
2016-02-18 00:08:17 +00:00
|
|
|
</div>
|
2017-01-28 19:33:57 +00:00
|
|
|
<br />
|
|
|
|
<div class='audio-notification-setting'>
|
|
|
|
<input type='checkbox' name='audio-notification' id='audio-notification'/>
|
|
|
|
<label for='audio-notification'>{{ audioNotificationDescription }}</label>
|
|
|
|
</div>
|
2016-09-15 01:34:25 +00:00
|
|
|
<hr>
|
|
|
|
<div class='safety-numbers-settings'>
|
|
|
|
<h3>{{ safetyNumbersSettingHeader }}</h3>
|
|
|
|
<input type='checkbox' name='safety-numbers-approval' id='safety-numbers-approval'/>
|
|
|
|
<label for='safety-numbers-approval'>{{ safetyNumbersSettingDescription }}</label>
|
|
|
|
</div>
|
2016-02-18 00:08:17 +00:00
|
|
|
</div>
|
|
|
|
</script>
|
2016-06-16 22:33:18 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='syncSettings'>
|
|
|
|
<hr>
|
|
|
|
<h3>{{ sync }}</h3>
|
|
|
|
<div>
|
2016-09-08 18:25:46 +00:00
|
|
|
<button class='grey sync'>{{ syncNow }}</button>
|
2016-06-16 22:33:18 +00:00
|
|
|
<p>
|
|
|
|
{{ syncExplanation }}
|
|
|
|
<div class='synced_at'>
|
|
|
|
{{ lastSynced }} {{ syncDate }} {{ syncTime }}
|
|
|
|
</div>
|
|
|
|
<div class='sync_failed'>{{ syncFailed }}</div>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</script>
|
2017-01-04 03:37:56 +00:00
|
|
|
|
|
|
|
<script type='text/x-tmpl-mustache' id='networkStatus'>
|
2017-04-11 23:24:06 +00:00
|
|
|
<div class='network-status-message'>
|
|
|
|
<h3>{{ message }}</h3>
|
2017-01-04 03:37:56 +00:00
|
|
|
<span>{{ instructions }}</span>
|
|
|
|
</div>
|
|
|
|
{{ #reconnectDurationAsSeconds }}
|
|
|
|
<div class="network-status-message">
|
|
|
|
{{ attemptingReconnectionMessage }}
|
|
|
|
</div>
|
|
|
|
{{/reconnectDurationAsSeconds }}
|
2017-04-12 23:46:51 +00:00
|
|
|
{{ #action }}
|
|
|
|
<div class="action">
|
|
|
|
<button class='small blue {{ buttonClass }}'>{{ action }}</button>
|
|
|
|
</div>
|
|
|
|
{{/action }}
|
2017-01-04 03:37:56 +00:00
|
|
|
</script>
|
|
|
|
|
2017-04-13 01:43:00 +00:00
|
|
|
<script type='text/x-tmpl-mustache' id='install_flow_template'>
|
|
|
|
<div id='step1' class='step'>
|
|
|
|
<div class='inner'>
|
|
|
|
<div class='step-body'>
|
|
|
|
<img id='signal-icon' src='/images/icon_250.png'/>
|
|
|
|
<h1>{{ installWelcome }}</h1>
|
|
|
|
<p>{{ installTagline }}</p>
|
|
|
|
</div>
|
|
|
|
<div class='nav'>
|
|
|
|
<div> <a class='button step2'>{{ installGetStartedButton }}</a> </div>
|
|
|
|
<span class='dot step1 selected'></span>
|
|
|
|
<span class='dot step2'></span>
|
|
|
|
<span class='dot step3'></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id='step2' class='step'>
|
|
|
|
<div class='inner'>
|
|
|
|
<div class='step-body'>
|
|
|
|
<img id='signal-phone' src='/images/signal-phone.png'>
|
|
|
|
<p>{{{ installSignalLink }}}</p>
|
|
|
|
</div>
|
|
|
|
<div class='nav'>
|
|
|
|
<div> <a class='button step3'>{{ installIHaveSignalButton }}</a> </div>
|
|
|
|
<span class='dot step1'></span>
|
|
|
|
<span class='dot step2 selected'></span>
|
|
|
|
<span class='dot step3'></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id='step3' class='step'>
|
|
|
|
<div class='inner'>
|
|
|
|
<div class='step-body'>
|
|
|
|
<div id="qr"></div>
|
|
|
|
<p>{{ installAndroidInstructions }}</p>
|
|
|
|
</div>
|
|
|
|
<div class='nav'>
|
|
|
|
<span class='dot step1'></span>
|
|
|
|
<span class='dot step2'></span>
|
|
|
|
<span class='dot step3 selected'></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<form id='step4' class='step'>
|
|
|
|
<div class='inner'>
|
|
|
|
<div class='step-body'>
|
|
|
|
<p>{{ installLinkingWithNumber }}</p>
|
|
|
|
<h2 class='number'></h2>
|
|
|
|
<img id='signal-computer' src='/images/signal-laptop.png'>
|
|
|
|
<p>{{ installComputerName }}</p>
|
|
|
|
<div>
|
|
|
|
<input type='text' id='device-name' spellcheck='false' maxlength='50' />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class='nav'>
|
|
|
|
<div>
|
|
|
|
<input type='submit' class='button' id='sync' value='{{ installFinalButton }}' />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<div id='step5' class='step'>
|
|
|
|
<div class='inner'>
|
|
|
|
<div class='step-body'>
|
|
|
|
<img id='signal-icon' src='/images/icon_250.png'/>
|
|
|
|
<div class='progress-dialog'>
|
|
|
|
<p class='status'></p>
|
|
|
|
<div class='bar-container'><div class='bar progress-bar'></div></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class='nav'>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id='stepTooManyDevices' class='step'>
|
|
|
|
<div class='inner error-dialog clearfix'>
|
|
|
|
<div class='panel step-body'>{{ installTooManyDevices }}</div>
|
|
|
|
<div class='nav'>
|
|
|
|
<button class='ok step3'>{{ ok }}</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/components.js'></script>
|
|
|
|
<script type='text/javascript' src='js/database.js'></script>
|
2016-02-03 01:55:27 +00:00
|
|
|
<script type='text/javascript' src='js/debugLog.js'></script>
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/storage.js'></script>
|
2016-04-21 23:45:21 +00:00
|
|
|
<script type='text/javascript' src='js/signal_protocol_store.js'></script>
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/libtextsecure.js'></script>
|
2015-01-14 00:09:32 +00:00
|
|
|
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/notifications.js'></script>
|
2016-04-11 22:06:06 +00:00
|
|
|
<script type='text/javascript' src='js/delivery_receipts.js'></script>
|
2016-04-11 22:11:20 +00:00
|
|
|
<script type='text/javascript' src='js/read_receipts.js'></script>
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/libphonenumber-util.js'></script>
|
|
|
|
<script type='text/javascript' src='js/models/messages.js'></script>
|
|
|
|
<script type='text/javascript' src='js/models/conversations.js'></script>
|
2016-09-07 00:12:45 +00:00
|
|
|
<script type='text/javascript' src='js/models/blockedNumbers.js'></script>
|
2016-09-21 00:19:51 +00:00
|
|
|
<script type='text/javascript' src='js/expiring_messages.js'></script>
|
2014-06-03 16:39:29 +00:00
|
|
|
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/chromium.js'></script>
|
2016-09-20 20:42:33 +00:00
|
|
|
<script type='text/javascript' src='js/registration.js'></script>
|
2016-04-04 02:34:34 +00:00
|
|
|
<script type='text/javascript' src='js/expire.js'></script>
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/conversation_controller.js'></script>
|
|
|
|
<script type='text/javascript' src='js/panel_controller.js'></script>
|
2016-02-15 21:53:37 +00:00
|
|
|
<script type='text/javascript' src='js/emoji_util.js'></script>
|
2015-03-15 23:04:39 +00:00
|
|
|
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/views/whisper_view.js'></script>
|
2017-05-17 21:32:03 +00:00
|
|
|
<script type='text/javascript' src='js/views/last_seen_indicator_view.js'></script>
|
2017-05-19 01:33:35 +00:00
|
|
|
<script type='text/javascript' src='js/views/scroll_down_button_view.js'></script>
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/views/debug_log_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/toast_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/attachment_preview_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/file_input_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/list_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/conversation_list_item_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/conversation_list_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/contact_list_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/new_group_update_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/attachment_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/key_conflict_dialogue_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/error_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/timestamp_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/message_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/key_verification_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/message_detail_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/message_list_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/group_member_list_view.js'></script>
|
2016-08-15 22:36:29 +00:00
|
|
|
<script type='text/javascript' src='js/views/recorder_view.js'></script>
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/views/conversation_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/conversation_search_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/hint_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/inbox_view.js'></script>
|
2017-01-04 03:37:56 +00:00
|
|
|
<script type='text/javascript' src='js/views/network_status_view.js'></script>
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/views/confirmation_dialog_view.js'></script>
|
|
|
|
<script type='text/javascript' src='js/views/identicon_svg_view.js'></script>
|
2016-02-18 00:08:17 +00:00
|
|
|
<script type='text/javascript' src='js/views/settings_view.js'></script>
|
2017-04-13 01:43:00 +00:00
|
|
|
<script type="text/javascript" src="js/views/install_view.js"></script>
|
2015-01-19 01:43:25 +00:00
|
|
|
|
2017-03-01 21:11:40 +00:00
|
|
|
<script type='text/javascript' src='js/wall_clock_listener.js'></script>
|
2017-02-16 19:59:32 +00:00
|
|
|
<script type='text/javascript' src='js/rotate_signed_prekey_listener.js'></script>
|
2017-05-07 21:18:22 +00:00
|
|
|
<script type='text/javascript' src='js/keychange_listener.js'></script>
|
2015-12-26 06:17:30 +00:00
|
|
|
<script type='text/javascript' src='js/background.js'></script>
|
2014-01-12 14:07:30 +00:00
|
|
|
</head>
|
2015-01-14 21:21:54 +00:00
|
|
|
<body>
|
2014-01-12 14:07:30 +00:00
|
|
|
</body>
|
|
|
|
</html>
|