Cable-Desktop/background.html
lilia 95f8e3921c Keep inbox window open, but allow it to be hidden
As a chrome packaged app, we have to keep at least one window open in
order to maintain our websocket connection in the background page.

This change replaces the system window frame with custom buttons in the
inbox header, such that the 'close' button merely hides the window
rather than unloading it.

Fixes #237
FREEBIE
2015-05-21 13:08:43 -07:00

276 lines
11 KiB
HTML

<!--This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<script type='text/x-tmpl-mustache' id='conversation'>
<div class='title-bar' id='header'>
<div class='menu'>
<button class='hamburger'></button>
<ul class='menu-list'>
{{#group}}
<li><a class='new-group-update'>Update group</a></li>
<li><a class='leave-group'>Leave group</a></li>
{{/group}}
{{^group}}
<li><a class='end-session'>Reset Session</a></li>
<li><a class='verify-identity'>Verify Identity</a></li>
{{/group}}
<li><a class='destroy'>Delete messages</a></li>
</ul>
</div>
</div>
<div class='discussion-container'></div>
<div class="bottom-bar" id='footer'>
<form class='send'>
<div class='attachments'>
<div class='paperclip thumbnail'></div>
<input type='file' class='file-input'>
</div>
<input class="send-btn" type='submit' value='' />
<input class='send-message' type='textarea' placeholder="Send a message">
</form>
</div>
</script>
<script type='text/x-tmpl-mustache' id='attachment-preview'>
<img src="{{ source }}" class="preview" />
<div class="close">x</div>
</script>
<script type='text/x-tmpl-mustache' id='message'>
<div class='sender'>{{ sender }}</div>
{{> avatar }}
<div class="bubble">
<p class="content">{{ message }}</p>
<div class='attachments'></div>
<div class='meta'>
<span class='timestamp'>{{ timestamp }}</span>
<span class='checkmark hide'></span>
</div>
</div>
</script>
<script type='text/x-tmpl-mustache' id='new-group-update-form'>
<div class='title-bar' id='header'>
<button class='back'></button>
<button class='send check'></button>
<span class='title-text'>Update group</span>
</div>
<div class='container'>
<div class='scrollable'>
<div class='clearfix'>
<div class='group-avatar'>
<div class='thumbnail'>
{{> avatar }}
</div>
<input type='file' name='avatar' class='file-input'>
</div>
<div>
<input type='text' name='name' class='name' placeholder='Group Name' value="{{ name }}">
</div>
</div>
</div>
</div>
</script>
<script type='text/x-tmpl-mustache' id='avatar'>
<span class='avatar' style='background-image: url("{{ avatar_url }}");' ></span>
</script>
<script type='text/x-tmpl-mustache' id='contact_pill'>
<span>{{ name }}</span><span class='remove'>x</span>
</script>
<script type='text/x-tmpl-mustache' id='contact'>
{{> avatar }}
<div class='contact-details'>
<h3 class='contact-name'>
{{ contact_name }}
</h3>
<p class='number'>{{ number }}</p>
<p class='last-message'>
{{ last_message }}
</p>
<span class='last-timestamp'>
{{ last_message_timestamp }}
</span>
</div>
</script>
<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" />
</div>
</div>
</script>
<script type='text/x-tmpl-mustache' id='file-size-modal'>
Sorry, the selected file exceeds message size
restrictions. ({{ limit }}kB)
</script>
<script type='text/x-tmpl-mustache' id='message-detail'>
<div class='title-bar' id='header'>
<button class='back'></button>
<span class='title-text'>Message Detail</span>
</div>
<div class='container'>
<div class='message-container'></div>
<div class='info'>
<table>
<tr><td class='label'>Sent</td><td> {{ sent_at }}</td></tr>
<tr><td class='label'>Received</td><td> {{ received_at }}</td></tr>
<tr>
<td class='tofrom label'>{{ tofrom }}</td>
<td> <div class='contacts'></div> </td>
</tr>
</table>
</div>
</div>
</script>
<script type='text/x-tmpl-mustache' id='key-verification'>
<div class='title-bar' id='header'>
<button class='back'></button>
<span class='title-text'>Verify Identity</span>
</div>
<div class='container'>
<p> Their identity (they read): </p>
<div class='key'>
{{ #their_key }} <span>{{ . }}</span> {{ /their_key }}
</div>
<p> Your identity (you read): </p>
<div class='key'>
{{ #your_key }} <span>{{ . }}</span> {{ /your_key }}
</div>
</div>
</script>
<!-- index -->
<script type="text/x-tmpl-mustache" id="inbox">
<div class='title-bar' id='header'>
<div class='socket-status'></div>
</div>
<div class='gutter'>
<div class='conversations scrollable'></div>
<span class='fab'></span>
</div>
</script>
<script type='text/x-tmpl-mustache' id='new-conversation'>
<div class='title-bar' id='header'>
<button class='back'></button>
<button class='create check hide'></button>
<span class='title-text'>New Message</span>
</div>
<div class='gutter'>
<div class='scrollable'>
<div class='new-group-update-form clearfix'>
<div class='group-avatar'>
<div class='thumbnail'>
<span class='default group-default'></span>
</div>
<input type='file' name='avatar' class='file-input'>
</div>
<input type='text' name='name' class='name' placeholder='Group Name' value="{{ name }}">
</div>
</div>
</div>
</script>
<script type='text/x-tmpl-mustache' id='recipients-input'>
<div class='recipients-container'>
<span class='recipients'></span>
<input type='text' class='search' placeholder="Name or phone number" />
</div>
<div class='results'>
<div class='new-contact contact hide'></div>
<div class='contacts'></div>
</div>
</script>
<script type='text/x-tmpl-mustache' id='incoming-key-conflict'>
<p>
Received message with unknown identity key.
Click to process and display.
</p>
</script>
<script type='text/x-tmpl-mustache' id='outgoing-key-conflict'>
<p>
This contact's identity key.has changed.
Click to process and display.
</p>
</script>
<script type='text/x-tmpl-mustache' id='generic-error'>
<p>{{ message }}</p>
</script>
<script type='text/x-tmpl-mustache' id='contact-detail'>
<div>
{{> avatar }}
<span class='name'>{{ name }}</span>
{{ #conflict }}
<button class='conflict'><span>Verify</span></button>
{{ /conflict }}
</div>
</script>
<script type='text/x-tmpl-mustache' id='key-conflict-dialogue'>
<div class='content'>
<p> {{ message }} </p>
<p>
You may wish to <span class='verify'>verify</span> this contact.
</p>
<p>
<button class='cancel'>Cancel</button>
<button class='resolve'>Accept new key</button>
</p>
</div>
</script>
<script type='text/x-tmpl-mustache' id='window-controls'>
<button class='minimize'>&minus;</button>
<button class='close'>&times;</button>
</script>
<script type="text/javascript" src="js/components.js"></script>
<script type="text/javascript" src="js/database.js"></script>
<script type="text/javascript" src="js/storage.js"></script>
<script type="text/javascript" src="js/axolotl_store.js"></script>
<script type="text/javascript" src="js/libtextsecure.js"></script>
<script type="text/javascript" src="js/notifications.js"></script>
<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>
<script type="text/javascript" src="js/chromium.js"></script>
<script type="text/javascript" src="js/views/whisper_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/recipients_input_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/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/conversation_view.js"></script>
<script type="text/javascript" src="js/views/new_conversation_view.js"></script>
<script type="text/javascript" src="js/views/window_controls_view.js"></script>
<script type="text/javascript" src="js/views/inbox_view.js"></script>
<script type="text/javascript" src="js/inbox_controller.js"></script>
<script type="text/javascript" src="js/bimap.js"></script>
<script type="text/javascript" src="js/panel_controller.js"></script>
<script type="text/javascript" src="js/background.js"></script>
</head>
<body>
</body>
</html>