8498d7ad1f
Render the entire conversation from a template, because some parts of it must be rendered conditionally if it is a group vs private conversation. Also apply some style fixes and restore lost functionality: * Make conversation title bar fixed. * Widens message bubbles. * Unhide message list. * Restore attachment rendering. * Restore message sending and attachment file selection. * Style attachments file input as a paperclip. * Style send button like on Android and make it a submit input.
84 lines
3.9 KiB
HTML
84 lines
3.9 KiB
HTML
<!DOCTYPE html>
|
|
<html class='no-js' lang='en'>
|
|
<head>
|
|
<meta charset='utf-8'>
|
|
<meta content='width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0' name='viewport'>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<title></title>
|
|
<meta name="description" content="">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link href='/favicon.ico' rel='shortcut icon'>
|
|
<link href="/stylesheets/manifest.css" rel="stylesheet" type="text/css" />
|
|
<link href="/components/bootstrap-tagsinput/dist/bootstrap-tagsinput.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body class='signal'>
|
|
<script type='text/x-tmpl-mustache' id='conversation'>
|
|
<div class='title-bar' id='header'>
|
|
{{#group}}
|
|
<button class='new-group-update'>Update group</button>
|
|
<button class='leave-group'>Leave group</button>
|
|
{{/group}}
|
|
{{^group}}
|
|
<button class='end-session'>End Session</button>
|
|
{{/group}}
|
|
<button class='destroy'>Delete this conversation</button>
|
|
</div>
|
|
|
|
<div class='discussion-container'></div>
|
|
|
|
<div class="bottom-bar">
|
|
<form class='send'>
|
|
<div class='attachments'>
|
|
<div class='paperclip'></div>
|
|
<input type='file' name='files[]' multiple 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>
|
|
<img class='avatar' src='{{ contact_avatar }}'>
|
|
<div class="bubble {{ bubble_class }}">
|
|
<p class="content">{{ message }}</p>
|
|
<div class='attachments'></div>
|
|
<p class="timestamp">{{ timestamp }}</p>
|
|
</div>
|
|
</script>
|
|
|
|
<script type="text/javascript" src="js/components.js"></script>
|
|
|
|
<script type="text/javascript" src="js/libtextsecure.js"></script>
|
|
<script type="text/javascript" src="js/database.js"></script>
|
|
|
|
<script type="text/javascript" src="components/bootstrap-tagsinput/dist/bootstrap-tagsinput.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/file_modal_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/group_update_view.js"></script>
|
|
<script type="text/javascript" src="js/views/attachment_view.js"></script>
|
|
<script type="text/javascript" src="js/views/message_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/conversation_panel.js"></script>
|
|
|
|
<div id="listener"></div>
|
|
<div id="log"></div>
|
|
</body>
|
|
</html>
|