2013-07-29 23:03:31 +02:00
|
|
|
{% extends "zerver/base.html" %}
|
2012-10-16 06:03:29 +02:00
|
|
|
{# The app itself. #}
|
|
|
|
{# Includes some other templates as tabs. #}
|
2012-11-02 16:59:54 +01:00
|
|
|
|
2013-05-16 22:42:28 +02:00
|
|
|
{% block page_params %}
|
|
|
|
{# Insert parameters, which have been encoded with JSONEncoderForHTML. #}
|
2018-07-06 23:31:53 +02:00
|
|
|
<script nonce="{{ csp_nonce }}">
|
2018-01-27 18:30:55 +01:00
|
|
|
{% autoescape off %}
|
|
|
|
var page_params = {{ page_params }};
|
|
|
|
{% endautoescape %}
|
2013-05-16 22:42:28 +02:00
|
|
|
</script>
|
|
|
|
{% endblock %}
|
|
|
|
|
2018-05-28 08:09:49 +02:00
|
|
|
{% block commonjs %}
|
|
|
|
{{ render_bundle('app', attrs='nonce="%s"' % (csp_nonce)) }}
|
|
|
|
{{ render_bundle('katex', attrs='nonce="%s"' % (csp_nonce)) }}
|
|
|
|
{% endblock %}
|
|
|
|
|
2012-09-24 17:17:41 +02:00
|
|
|
{% block customhead %}
|
2018-05-01 18:46:38 +02:00
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
<link href="/static/images/logo/apple-touch-icon-precomposed.png" rel="apple-touch-icon-precomposed">
|
2018-08-25 20:16:23 +02:00
|
|
|
<link id="emoji-spritesheet" href="/static/generated/emoji/{{ emojiset }}-sprite.css" rel="stylesheet" type="text/css">
|
2018-07-06 23:31:53 +02:00
|
|
|
<style>
|
2018-05-01 18:46:38 +02:00
|
|
|
#css-loading {
|
2018-10-14 21:57:50 +02:00
|
|
|
background-color: hsl(0, 0%, 100%);
|
2018-05-01 18:46:38 +02:00
|
|
|
position: fixed;
|
|
|
|
height: 100%;
|
|
|
|
width: 100%;
|
|
|
|
padding: 10px;
|
|
|
|
top: 0px;
|
|
|
|
left: 0px;
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
2012-09-24 17:17:41 +02:00
|
|
|
{% endblock %}
|
2018-05-01 18:46:38 +02:00
|
|
|
|
2012-09-24 17:17:41 +02:00
|
|
|
{% block content %}
|
2018-12-21 18:21:37 +01:00
|
|
|
<div id="feedback_container" class="new-style">
|
|
|
|
</div>
|
2017-11-01 22:11:15 +01:00
|
|
|
|
2013-11-25 23:05:08 +01:00
|
|
|
<div id="css-loading">
|
2016-10-13 14:31:53 +02:00
|
|
|
<h3>{{ _('Loading...') }}</h3>
|
2018-04-11 23:32:48 +02:00
|
|
|
<p>{% trans %}If this message does not go away, please wait a couple seconds and <a id="reload-lnk">reload</a> the page.{% endtrans %}</p>
|
2018-04-11 20:10:36 +02:00
|
|
|
<script nonce="{{ csp_nonce }}">
|
2018-04-11 23:32:48 +02:00
|
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
|
|
function reload() {
|
|
|
|
location.reload(true);
|
|
|
|
}
|
|
|
|
document.getElementById('reload-lnk').addEventListener('click', reload);
|
|
|
|
});
|
|
|
|
</script>
|
2013-11-25 23:05:08 +01:00
|
|
|
</div>
|
|
|
|
|
2018-04-22 07:02:19 +02:00
|
|
|
{% include "zerver/app/lightbox_overlay.html" %}
|
|
|
|
{% include "zerver/app/subscriptions.html" %}
|
|
|
|
{% include "zerver/app/drafts.html" %}
|
2017-06-22 12:43:49 +02:00
|
|
|
<div id="settings_overlay_container" class="overlay" data-overlay="settings" aria-hidden="true">
|
2018-04-22 07:02:19 +02:00
|
|
|
{% include "zerver/app/settings_overlay.html" %}
|
2016-12-03 01:12:52 +01:00
|
|
|
</div>
|
2017-11-01 22:11:15 +01:00
|
|
|
|
2018-04-22 07:02:19 +02:00
|
|
|
{% include "zerver/app/navbar.html" %}
|
2014-01-15 17:11:37 +01:00
|
|
|
|
2014-01-09 16:58:51 +01:00
|
|
|
<div class="fixed-app">
|
2018-01-27 18:30:55 +01:00
|
|
|
<div class="app-main">
|
|
|
|
<div class="column-middle column-overlay">
|
|
|
|
<div id="tab_bar_underpadding"></div>
|
|
|
|
</div>
|
2014-01-09 16:58:51 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2014-02-13 22:40:40 +01:00
|
|
|
<div class="app">
|
2018-01-27 18:30:55 +01:00
|
|
|
<div class="alert-box">
|
|
|
|
<div class="alert alert_sidebar alert-error home-error-bar" id="connection-error">
|
|
|
|
<div class="exit"></div>
|
|
|
|
{% trans %}<strong class="message">Unable to connect to
|
|
|
|
Zulip.</strong> Updates may be delayed.{% endtrans %} {{ _('Retrying soon...') }} <a class="restart_get_events_button">{{ _('Try now.') }}</a>
|
|
|
|
</div>
|
|
|
|
<div class="alert alert_sidebar alert-error home-error-bar" id="zephyr-mirror-error">
|
|
|
|
<div class="exit"></div>
|
|
|
|
{# The below isn't tagged for translation
|
|
|
|
intentionally, because the feature is only used at
|
|
|
|
MIT. #}
|
|
|
|
<strong>Your Zephyr mirror is not working.</strong>
|
|
|
|
<span id="normal-zephyr-mirror-error-text">
|
|
|
|
We recommend that
|
|
|
|
you <a class="webathena_login">give Zulip the ability to mirror the messages for you via
|
|
|
|
WebAthena</a>. If you'd prefer, you can instead
|
|
|
|
<a href="/zephyr-mirror" target="_blank">run the
|
|
|
|
Zephyr mirror script yourself</a> in a screen
|
|
|
|
session.
|
|
|
|
</span>
|
|
|
|
<span id="desktop-zephyr-mirror-error-text" class="notdisplayed">To fix
|
|
|
|
this, you'll need to use the web interface.</span>
|
|
|
|
</div>
|
|
|
|
<div class="alert alert_sidebar alert-error home-error-bar" id="home-error"></div>
|
|
|
|
<div class="alert alert_sidebar alert-error home-error-bar" id="reloading-application"></div>
|
2013-08-13 12:52:26 +02:00
|
|
|
</div>
|
2018-01-27 18:30:55 +01:00
|
|
|
<div class="app-main">
|
|
|
|
<div class="column-left">
|
2018-04-22 07:02:19 +02:00
|
|
|
{% include "zerver/app/left_sidebar.html" %}
|
2018-01-27 18:30:55 +01:00
|
|
|
</div>
|
|
|
|
<div class="column-middle">
|
|
|
|
<div class="column-middle-inner tab-content">
|
|
|
|
<div class="tab-pane active" id="home">
|
|
|
|
<div class="fixed-app" id="floating_recipient_bar">
|
|
|
|
<div class="app-main recipient_bar_content">
|
|
|
|
<div class="column-middle column-overlay recipient-bar-main">
|
|
|
|
<div class="floating_recipient">
|
|
|
|
<div style="display: none;" id="current_label_stream" class="recipient_row">
|
|
|
|
<div class="message_label_clickable message_header message_header_stream right_part"></div>
|
|
|
|
</div>
|
|
|
|
<div style="display: none;" id="current_label_private_message" class="recipient_row">
|
|
|
|
<div class="message_label_clickable message_header message_header_private_message right_part"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2014-02-18 17:41:49 +01:00
|
|
|
</div>
|
2018-01-27 18:30:55 +01:00
|
|
|
<div id="alert-bar-container" class="alert-bar-container" style='display: none;'>
|
|
|
|
<div id="alert-bar" class="alert-bar">
|
|
|
|
<div id="alert-bar-contents" class="alert-bar-contents">
|
|
|
|
<div id="custom-alert-bar-content"></div>
|
2018-07-02 23:25:28 +02:00
|
|
|
<i class="fa fa-remove close-alert-icon" aria-hidden="true"></i>
|
2018-01-27 18:30:55 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-04-22 07:02:19 +02:00
|
|
|
{% include "zerver/app/home.html" %}
|
2014-02-18 17:41:49 +01:00
|
|
|
</div>
|
2012-09-26 00:26:35 +02:00
|
|
|
|
2018-01-27 18:30:55 +01:00
|
|
|
{% if show_debug %}
|
|
|
|
<div class="tab-pane" id="debug">
|
2018-04-22 07:02:19 +02:00
|
|
|
{% include "zerver/app/debug.html" %}
|
2018-01-27 18:30:55 +01:00
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
</div><!--/tab-content-->
|
|
|
|
</div>
|
|
|
|
<div class="column-right">
|
2018-04-22 07:02:19 +02:00
|
|
|
{% include "zerver/app/right_sidebar.html" %}
|
2018-01-27 18:30:55 +01:00
|
|
|
</div><!--/right sidebar-->
|
|
|
|
</div><!--/row-->
|
2017-06-22 12:43:49 +02:00
|
|
|
<div class="informational-overlays overlay new-style" data-overlay="informationalOverlays" aria-hidden="true">
|
2017-11-16 01:31:46 +01:00
|
|
|
<div class="overlay-content modal-bg">
|
2017-01-05 21:11:45 +01:00
|
|
|
<div class="overlay-tabs">
|
2017-02-01 20:51:25 +01:00
|
|
|
<button class="button no-style exit">×</button>
|
2017-01-05 21:11:45 +01:00
|
|
|
</div>
|
|
|
|
<div class="overlay-body">
|
2018-04-22 07:02:19 +02:00
|
|
|
{% include "zerver/app/keyboard_shortcuts.html" %}
|
|
|
|
{% include "zerver/app/search_operators.html" %}
|
|
|
|
{% include "zerver/app/markdown_help.html" %}
|
2017-01-05 21:11:45 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-01-26 21:14:33 +01:00
|
|
|
<div class="user_status_overlay overlay new-style" data-overlay="user_status_overlay" aria-hidden="true">
|
|
|
|
<div class="overlay-content modal-bg">
|
2019-04-15 19:57:47 +02:00
|
|
|
<div class="user-status-header">
|
|
|
|
<h1>Set a status</h1>
|
|
|
|
<div class="exit">
|
|
|
|
<span class="exit-sign">×</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<label for="user_status">Status message</label>
|
|
|
|
<input type="text" class="user_status" maxlength="60" />
|
|
|
|
</div>
|
2019-04-23 18:07:10 +02:00
|
|
|
<div class="user-status-options">
|
|
|
|
<p class="user-status-value" data-user-status-value="In a meeting">In a meeting</p>
|
|
|
|
<p class="user-status-value" data-user-status-value="Commuting">Commuting</p>
|
|
|
|
<p class="user-status-value" data-user-status-value="Out sick">Out sick</p>
|
|
|
|
<p class="user-status-value" data-user-status-value="Vacationing">Vacationing</p>
|
|
|
|
<p class="user-status-value" data-user-status-value="Working remotely">Working remotely</p>
|
|
|
|
</div>
|
2019-04-15 19:57:47 +02:00
|
|
|
<div class="modal-footer">
|
|
|
|
<button class="button exit small rounded">Cancel</button>
|
|
|
|
<button class="sea-green small rounded button set_user_status">
|
2019-02-01 05:22:36 +01:00
|
|
|
Save
|
2019-01-26 21:14:33 +01:00
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-04-22 07:02:19 +02:00
|
|
|
{% include "zerver/app/invite_user.html" %}
|
|
|
|
{% include "zerver/app/bankruptcy.html" %}
|
|
|
|
{% include "zerver/app/logout.html" %}
|
|
|
|
{% include "zerver/app/deprecation_notice.html" %}
|
2018-04-23 20:41:35 +02:00
|
|
|
<div id="user-profile-modal-holder"></div>
|
2013-06-19 01:41:27 +02:00
|
|
|
<div class='notifications top-right'></div>
|
2019-01-18 17:40:54 +01:00
|
|
|
<div id="delete-topic-modal-holder"></div>
|
2019-02-22 12:28:29 +01:00
|
|
|
<div class="left-sidebar-modal-holder"></div>
|
2013-02-28 19:04:58 +01:00
|
|
|
</div>
|
2012-08-28 18:44:51 +02:00
|
|
|
{% endblock %}
|