mirror of https://github.com/zulip/zulip.git
159 lines
6.2 KiB
HTML
159 lines
6.2 KiB
HTML
{% extends "zephyr/base.html" %}
|
|
|
|
{# The app itself. #}
|
|
{# Includes some other templates as tabs. #}
|
|
|
|
{% load jstemplate %}
|
|
{% load compressed %}
|
|
|
|
{% block customhead %}
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<script id="template_message" type="text/x-handlebars-template">
|
|
{% rawjstemplate "message" %}
|
|
</script>
|
|
|
|
<script id="template_subscription" type="text/x-handlebars-template">
|
|
{% rawjstemplate "subscription" %}
|
|
</script>
|
|
|
|
<script id="template_new_stream_users" type="text/x-handlebars-template">
|
|
{% rawjstemplate "new_stream_users" %}
|
|
</script>
|
|
|
|
<script id="template_invite_subscription" type="text/x-handlebars-template">
|
|
{% rawjstemplate "invite_subscription" %}
|
|
</script>
|
|
|
|
<script id="template_userinfo_popover_title" type="text/x-handlebars-template">
|
|
{% rawjstemplate "userinfo_popover_title" %}
|
|
</script>
|
|
<script id="template_userinfo_popover_content" type="text/x-handlebars-template">
|
|
{% rawjstemplate "userinfo_popover_content" %}
|
|
</script>
|
|
<script id="template_timeinfo_popover_content" type="text/x-handlebars-template">
|
|
{% rawjstemplate "timeinfo_popover_content" %}
|
|
</script>
|
|
|
|
{% compressed_css 'app' %}
|
|
<link rel="stylesheet" href="/static/third/spectrum/spectrum.css" />
|
|
|
|
<script type="text/javascript" src="/static/third/jquery/jquery.form.js"></script>
|
|
<script type="text/javascript" src="/static/third/jquery/jquery.highlight.js"></script>
|
|
<script type="text/javascript" src="/static/third/xdate/xdate.js"></script>
|
|
<script type="text/javascript" src="/static/third/handlebars/handlebars-1.0.rc.1.js"></script>
|
|
<script type="text/javascript" src="/static/third/spin/spin.min.js"></script>
|
|
<script type="text/javascript" src="/static/third/jquery-mousewheel/jquery.mousewheel.js"></script>
|
|
<script type="text/javascript" src="/static/third/jquery-throttle-debounce/jquery.ba-throttle-debounce.min.js"></script>
|
|
<script type="text/javascript" src="/static/third/jquery.idle/jquery.idle.js"></script>
|
|
<script type="text/javascript" src="/static/third/jquery-autosize/jquery.autosize.js"></script>
|
|
<script type="text/javascript" src="/static/third/spectrum/spectrum.js"></script>
|
|
{% compressed_js 'app' %}
|
|
|
|
{% if debug %}
|
|
<script type="text/javascript" src="/static/js/debug.js"></script>
|
|
{% endif %}
|
|
|
|
<script type="text/javascript">
|
|
{% autoescape off %}
|
|
|
|
{# Not escaped, because it's guaranteed to be an integer (either the UserProfile's pointer, or the id of a Stream, or -1). #}
|
|
var initial_pointer = {{ initial_pointer }};
|
|
|
|
var poll_timeout = {{ poll_timeout }};
|
|
|
|
var fullname = "{{ user_profile.full_name|escapejs }}";
|
|
var email = "{{ user_profile.user.email|escapejs }}";
|
|
var domain = "{{ user_profile.realm.domain|escapejs }}";
|
|
var have_initial_messages = {{ have_initial_messages|escapejs }};
|
|
var desktop_notifications_enabled = {{ desktop_notifications_enabled|escapejs }};
|
|
|
|
{% if lurk_stream %}
|
|
var lurk_stream = "{{ lurk_stream|escapejs }}";
|
|
{% else %}
|
|
var lurk_stream = undefined;
|
|
{% endif %}
|
|
|
|
{# We use JSONEncoderForHTML to generate "streams". #}
|
|
var stream_list = {{ streams }};
|
|
|
|
var people_list = [
|
|
{% for person in people %}
|
|
{ 'email': "{{ person.email|escapejs }}",
|
|
'full_name': "{{ person.full_name|escapejs }}" },
|
|
{% endfor %}
|
|
];
|
|
|
|
{% endautoescape %}
|
|
</script>
|
|
{% endblock %}
|
|
{% block content %}
|
|
{% include "zephyr/navbar.html" %}
|
|
<div class="row">
|
|
<div class="span3">
|
|
<div class="row">
|
|
<div class="span3 sidebar-nav affix hidden-phone">
|
|
<div class="upper_sidebar">
|
|
<span>
|
|
<img class="img-rounded gravatar-profile"
|
|
src="https://secure.gravatar.com/avatar/{{ email_hash }}?d=identicon&s=60" />
|
|
</span>
|
|
<span class="my_fullname">{{ user_profile.full_name }}</span>
|
|
<span class="my_email">{{ user_profile.user.email }}</span>
|
|
<div class="new_message_button">
|
|
<button type="button" class="btn btn-large btn-block"
|
|
id="left_bar_compose_stream_button_big"
|
|
onclick="compose.set_mode('stream');">
|
|
<i class="icon-bullhorn"></i> New stream message
|
|
</button>
|
|
</div>
|
|
<div class="new_message_button">
|
|
<button type="button" class="btn btn-large btn-block"
|
|
id="left_bar_compose_private_button_big"
|
|
onclick="compose.set_mode('private');">
|
|
<i class="icon-user"></i> New private message
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="bottom_sidebar">
|
|
<ul class="filters">
|
|
<div id="global_filters">
|
|
{# Special-case this link so we don't actually go to page top. #}
|
|
<li id="filthome" class="active-filter"><a href="#" onclick="narrow.deactivate();return false" >Home</a></li>
|
|
</div>
|
|
<hr id="stream_filters_sep">
|
|
<div id="stream_filters">
|
|
</div>
|
|
<hr id="personal_filters_sep">
|
|
<div id="personal_filters">
|
|
<li id="filtpers"><a href="#narrow/is/private-message">All private messages</a></li>
|
|
</div>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!--/sidebar-->
|
|
<div class="span9 tab-content" id="application_area">
|
|
<div class="tab-pane active" id="home">
|
|
{% include "zephyr/home.html" %}
|
|
</div>
|
|
<div class="tab-pane" id="subscriptions">
|
|
{% include "zephyr/subscriptions.html" %}
|
|
</div>
|
|
<div class="tab-pane" id="settings">
|
|
{% include "zephyr/settings.html" %}
|
|
</div>
|
|
|
|
{% if show_debug %}
|
|
<div class="tab-pane" id="debug">
|
|
{% include "zephyr/debug.html" %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div><!--/tab-content-->
|
|
</div><!--/row-->
|
|
{% include "zephyr/keyboard_shortcuts.html" %}
|
|
{% include "zephyr/markdown_help.html" %}
|
|
{% include "zephyr/invite_user.html" %}
|
|
|
|
{% endblock %}
|