NewsBlur-viq/templates/reader/feeds.xhtml
2011-04-18 09:25:30 -04:00

545 lines
No EOL
22 KiB
HTML

{% extends 'base.html' %}
{% load typogrify_tags recommendations_tags utils_tags statistics_tags %}
{% block content %}
<script>
$(document).ready(function() {
NEWSBLUR.reader = new NEWSBLUR.Reader();
});
</script>
<h1 class="NB-splash-heading">NewsBlur</h1>
<h2 class="NB-splash-heading">- A visual feed reader with intelligence.</h2>
<div id="NB-splash">
<div class="NB-modules-center" style="margin-left: {{ user_profile.feed_pane_size }}px">
<div class="NB-module NB-module-features">
<h5 class="NB-module-header">
New Features
<div class="NB-module-header-right">
{% if user.is_staff %}
<div class="NB-features-add">
<a href="#" id="add-feature-button" class="NB-splash-link">Add</a>
</div>
<script>
$(document).ready(function() {
$('#add-feature-button').click(function(e) {
e.preventDefault();
$('#add-feature-form').fadeIn(500);
});
});
</script>
{% endif %}
<a href="#" class="NB-module-direction NB-module-next-page NB-javascript"></a>
<a href="#" class="NB-module-direction NB-module-previous-page NB-disabled"></a>
<div class="NB-spinner NB-left"></div>
</div>
</h5>
<table class="" cellpadding="0" cellspacing="0">
{% for feature in features %}
<tr class="NB-module-feature {% if forloop.last %}last{% endif %} {% if feature.date > user.profile.last_seen_on %}NB-module-feature-new{% endif %}">
<td class="NB-module-feature-date">{{ feature.date|date:"M d, Y" }}</td>
<td class="NB-module-feature-description">{{ feature.description|typogrify }}</td>
</tr>
{% endfor %}
</table>
{% if user.is_staff %}
<form action="{% url add-feature %}" id="add-feature-form" method="post">
{{ feature_form.description }}
<input type="submit" value="Add feature" />
</form>
{% endif %}
</div>
{% if recommended_feeds %}
{% render_recommended_feed recommended_feeds %}
{% endif %}
</div>
<div class="NB-account">
{% if not user.is_authenticated %}
<div class="NB-module">
<h5>
<div class="NB-module-header-login">Login</div>
<div class="NB-module-header-signup">Signup</div>
</h5>
<div class="NB-login">
{% if login_form.errors %}
{% for field, error in login_form.errors.items %}
{{ error|safe }}
{% endfor %}
{% endif %}
<form method="post" action="{% url login %}">
<div>
{{ login_form.username.label_tag }}
{{ login_form.username }}
</div>
<div>
<div class="NB-signup-optional">
{% if login_form.errors %}
{% for field, error in login_form.errors.items %}
<a href="mailto:samuel@ofbrooklyn.com?subject=Forgot%20Password" class="NB-splash-link">Forgot password?</a>
{% endfor %}
{% else %}
Optional
{% endif %}
</div>
{{ login_form.password.label_tag }}
{{ login_form.password }}
</div>
<input name="submit" type="submit" value="login" />
<input type="hidden" name="next" value="/" />
</form>
</div>
<div class="NB-signup">
<form method="post" action="{% url signup %}">
<div>
{{ signup_form.signup_username.label_tag }}
{{ signup_form.signup_username }}
</div>
<div class="NB-signup-hidden">
<div class="NB-signup-optional">Optional</div>
{{ signup_form.signup_password.label_tag }}
{{ signup_form.signup_password }}
</div>
<div class="NB-signup-hidden">
<div class="NB-signup-optional">Optional</div>
{{ signup_form.email.label_tag }}
{{ signup_form.email }}
</div>
<input name="submit" type="submit" value="create account" />
<input type="hidden" name="next" value="/" />
</form>
{% if signup_form.errors %}
{% for field, error in signup_form.errors.items %}
{{ error|safe }}
{% endfor %}
{% endif %}
<div class="NB-signup-orline {% if signup_form.errors %}NB-signup-orline-reduced{% endif %}">&mdash; <span class="NB-signup-orline-or">or</span> &mdash;</div>
<a href="{% url google-reader-authorize %}" class="NB-splash-link NB-signup-google">Import from<br /><img src="{{ MEDIA_URL }}img/reader/google-reader-logo.png" width="112" height="24" /></a>
</div>
</div>
<div class="NB-module NB-module-howitworks">
<h5 class="NB-module-header">
<div class="NB-module-header-left">
How It Works
</div>
<div class="NB-module-header-right">
<a href="#" class="NB-module-direction NB-module-next-page {% if howitworks_page == 5 %}NB-disabled{% endif %}"></a>
<a href="#" class="NB-module-direction NB-module-previous-page {% if howitworks_page == 0 %}NB-disabled{% endif %}"></a>
</div>
</h5>
<div class="NB-howitworks-page-indicators">
<a href="#" class="NB-module-page-indicator {% if howitworks_page == 0 %}NB-active{% endif %}"></a>
<a href="#" class="NB-module-page-indicator {% if howitworks_page == 1 %}NB-active{% endif %}"></a>
<a href="#" class="NB-module-page-indicator {% if howitworks_page == 2 %}NB-active{% endif %}"></a>
<a href="#" class="NB-module-page-indicator {% if howitworks_page == 3 %}NB-active{% endif %}"></a>
<a href="#" class="NB-module-page-indicator {% if howitworks_page == 4 %}NB-active{% endif %}"></a>
<a href="#" class="NB-module-page-indicator {% if howitworks_page == 5 %}NB-active{% endif %}"></a>
</div>
<div class="NB-howitworks-page {% if howitworks_page == 0 %}NB-active{% endif %}">
<div class="NB-howitworks-page-image">
<img src="{{ MEDIA_URL }}img/reader/howitworks_original.png" />
</div>
<table class="NB-howitworks-page-description">
<tr>
<td>
{% filter typogrify %}Read the<br />original site.{% endfilter %}
</td>
</tr>
</table>
</div>
<div class="NB-howitworks-page {% if howitworks_page == 1 %}NB-active{% endif %}">
<div class="NB-howitworks-page-image">
<img src="{{ MEDIA_URL }}img/reader/howitworks_intelligence_like.png" />
</div>
<table class="NB-howitworks-page-description">
<tr>
<td>
{% filter typogrify %}Easily train NewsBlur to highlight stories you like.{% endfilter %}
</td>
</tr>
</table>
</div>
<div class="NB-howitworks-page {% if howitworks_page == 2 %}NB-active{% endif %}">
<div class="NB-howitworks-page-image">
<img src="{{ MEDIA_URL }}img/reader/howitworks_intelligence_dislike.png" />
</div>
<table class="NB-howitworks-page-description">
<tr>
<td>
{% filter typogrify %}NewsBlur will filter out stories which you don't like.{% endfilter %}
</td>
</tr>
</table>
</div>
<div class="NB-howitworks-page {% if howitworks_page == 3 %}NB-active{% endif %}">
<div class="NB-howitworks-page-image">
<img src="{{ MEDIA_URL }}img/reader/howitworks_import.png" />
</div>
<table class="NB-howitworks-page-description">
<tr>
<td>
{% filter typogrify %}Quickly import your feeds from Google Reader.{% endfilter %}
</td>
</tr>
</table>
</div>
<div class="NB-howitworks-page {% if howitworks_page == 4 %}NB-active{% endif %}">
<div class="NB-howitworks-page-image">
<img src="{{ MEDIA_URL }}img/reader/howitworks_iphone.png" />
</div>
<table class="NB-howitworks-page-description">
<tr>
<td>
{% filter typogrify %}Use the iPhone app, available in Summer 2011.{% endfilter %}
</td>
</tr>
</table>
</div>
<div class="NB-howitworks-page {% if howitworks_page == 5 %}NB-active{% endif %}">
<div class="NB-howitworks-page-image">
<img src="{{ MEDIA_URL }}img/reader/howitworks_github.png" />
</div>
<table class="NB-howitworks-page-description">
<tr>
<td>
{% filter typogrify %}Open source, regularly improved, attention to detail.{% endfilter %}
</td>
</tr>
</table>
</div>
</div>
{% else %}
<div class="NB-module NB-module-stats">
<h5 class="NB-module-header">
Welcome, {{ user.username }}
<div class="NB-module-header-right">
<a href="{% url logout %}?next=/" class="NB-splash-link">Logout</a>
</div>
</h5>
<div class="NB-module-account {% if train_count == active_count %}NB-last{% endif %}">
<div class="NB-module-account-image">
{% if user.profile.is_premium %}
<img src="{{ MEDIA_URL }}/img/reader/account_premium_{{ account_images|random }}.jpg" />
{% else %}
<img src="{{ MEDIA_URL }}/img/reader/account_standard_{{ account_images|random }}.jpg" />
{% endif %}
</div>
<h3 class="NB-module-content-header">
{% if user.profile.is_premium %}
<span class="NB-module-content-subtitle">
{{ active_count }} site{{ active_count|pluralize }}
</span>
Premium Account
{% else %}
<span class="NB-module-content-subtitle">
<span class="NB-module-account-feedcount">{{ active_count }}</span> of 64 sites
</span>
Standard Account
{% endif %}
</h3>
<div class="NB-module-account-title">
{% if user.profile.is_premium %}
{% else %}
<div class="NB-modal-submit">
<div class="NB-modal-submit-green NB-modal-submit-button NB-module-account-upgrade NB-module-account-premium NB-javascript">Go Premium!</div>
{% if feed_count == 0 %}
<div class="NB-modal-submit-green NB-modal-submit-button NB-task-add NB-javascript">Add Sites</div>
{% else %}
<div class="{% if active_count == 0 %}NB-modal-submit-green{% else %}NB-modal-submit-close{% endif %} NB-modal-submit-button NB-module-account-upgrade NB-javascript">Choose Your 64</div>
{% endif %}
</div>
{% endif %}
</div>
</div>
<div class="NB-module-account NB-module-account-trainer NB-last {% if train_count == active_count %}NB-hidden{% endif %}">
<div class="NB-module-account-image">
<img src="{{ MEDIA_URL }}/img/reader/account_trainer.jpg" />
</div>
<h3 class="NB-module-content-header">
<span class="NB-module-content-subtitle">
<span class="NB-module-account-trainer-count">{{ train_count }}</span> of {{ active_count }} site{{ active_count|pluralize }}
</span>
Intelligence Trainer
</h3>
<div class="NB-module-account-title">
<div class="NB-modal-submit">
<div class="NB-modal-submit-green NB-modal-submit-button NB-module-account-train NB-javascript">Launch Intelligence Trainer</div>
</div>
</div>
</div>
</div>
{% endif %}
<div class="NB-module NB-module-stats">
<h5 class="NB-module-header">
Status and Statistics
</h5>
<h3 class="NB-module-content-header">
Past day
</h3>
<div class="NB-module-stats-count">
<div class="NB-module-stats-count-number">{{ statistics.premium_users }}</div>
<div class="NB-module-stats-count-description">Premium Users</div>
</div>
<div class="NB-module-stats-count">
<div class="NB-module-stats-count-number">{{ statistics.standard_users }}</div>
<div class="NB-module-stats-count-description">Standard Users</div>
</div>
<div class="NB-module-stats-count">
<div class="NB-module-stats-count-number">{{ statistics.feeds_fetched|commify }}</div>
<div class="NB-module-stats-count-description">Feeds fetched</div>
</div>
<h3 class="NB-module-content-header">
Past day by hour
</h3>
<div class="NB-module-stats-count">
<div class="NB-module-stats-count-graph">
{% for i in statistics.sites_loaded %}
<div class="NB-graph-value">
<div class="NB-graph-label">{{ i }}</div>
<div class="NB-graph-bar" style="height:{{ i|format_graph:statistics.max_sites_loaded }}px"></div>
</div>
{% endfor %}
</div>
<div class="NB-module-stats-count-number">{{ statistics.latest_sites_loaded }}</div>
<div class="NB-module-stats-count-description">Sites loaded</div>
</div>
<div class="NB-module-stats-count">
<div class="NB-module-stats-count-graph">
{% for i in statistics.avg_time_taken %}
<div class="NB-graph-value">
<div class="NB-graph-label">{{ i|floatformat:2 }}</div>
<div class="NB-graph-bar" style="height:{{ i|format_graph:statistics.max_avg_time_taken }}px"></div>
</div>
{% endfor %}
</div>
<div class="NB-module-stats-count-number">{{ statistics.latest_avg_time_taken|floatformat:2 }} <small>sec</small></div>
<div class="NB-module-stats-count-description">Avg. load time</div>
</div>
<div class="NB-module-stats-count">
<div class="NB-module-stats-count-graph">
{% for i in 24|get_range %}
<div class="NB-graph-value">
<div class="NB-graph-label">0</div>
<div class="NB-graph-bar" style="height:1px"></div>
</div>
{% endfor %}
</div>
<div class="NB-module-stats-count-number">0</div>
<div class="NB-module-stats-count-description">Backlog</div>
</div>
</div>
</div>
</div>
<div class="left-pane">
<div class="left-north">
<div class="NB-feeds-header-dashboard">
<div class="NB-feeds-header-right">
<div class="NB-feeds-header-sites">&nbsp;</div>
</div>
<div class="NB-feeds-header-left">
<span class="NB-feeds-header-count NB-feeds-header-negative NB-empty">0</span>
<span class="NB-feeds-header-count NB-feeds-header-neutral NB-empty">0</span>
<span class="NB-feeds-header-count NB-feeds-header-positive NB-empty">0</span>
</div>
<div class="NB-feeds-header-home">Dashboard</div>
</div>
</div>
<div class="left-center">
<div class="left-center-content NB-feedlist">
<div id="NB-feeds-list-loader">Everything is on its way...</div>
<div class="NB-feeds-header-wrapper">
<div class="NB-feeds-header-container NB-feeds-header-river-container">
<div class="NB-feeds-header NB-feeds-header-river NB-empty">
<div class="NB-feeds-header-count unread_count"></div>
<div class="NB-feeds-header-icon"></div>
<div class="NB-feeds-header-title">
Everything
</div>
</div>
</div>
<div class="NB-feeds-header-container NB-feeds-header-starred-container">
<div class="NB-feeds-header NB-feeds-header-starred NB-empty">
<div class="NB-feeds-header-count unread_count"></div>
<div class="NB-feeds-header-icon"></div>
<div class="NB-feeds-header-title">
Saved Stories
</div>
</div>
</div>
<div class="NB-feeds-header-container NB-feeds-header-tryfeed-container">
<div class="NB-feeds-header NB-feeds-header-tryfeed">
<img class="NB-feeds-header-icon" src="" />
<div class="NB-feeds-header-title"></div>
</div>
</div>
</div>
<ul class="folder NB-feedlist" id="feed_list"></ul>
</div>
<div class="left-center-footer">
<div id="NB-progress">
<div class="NB-progress-container">
<div class="NB-progress-close"></div>
<div class="NB-progress-title">Fetching your feeds</div>
<div class="NB-progress-percentage"></div>
<div class="NB-progress-link"></div>
<div class="NB-progress-counts">
<span class="NB-progress-counts-fetched"></span>
/
<span class="NB-progress-counts-total"></span>
</div>
<div class="NB-progress-bar"></div>
</div>
</div>
</div>
</div>
<div class="NB-taskbar-container left-south">
<div class="NB-taskbar">
<div class="NB-callout-ftux NB-callout">
<div class="NB-callout-container">
<div class="NB-callout-text"></div>
<div class="NB-callout-arrow"></div>
</div>
</div>
<ul class="taskbar_nav taskbar_nav_feeds">
<li class="task_button task_button_menu NB-task-add" title="Add sites"></li>
<li class="task_button task_button_menu NB-task-manage NB-disabled" title="Manage NewsBlur"></li>
</ul>
<div class="NB-taskbar-intelligence">
<div class="NB-taskbar-intelligence-indicator NB-taskbar-intelligence-negative"></div>
<div class="NB-taskbar-intelligence-indicator NB-taskbar-intelligence-neutral"></div>
<div class="NB-taskbar-intelligence-indicator NB-taskbar-intelligence-positive"></div>
<div class="NB-intelligence-slider"></div>
</div>
<div class="NB-taskbar-sidebar-toggle-close" title="Hide sidebar"></div>
</div>
</div>
</div>
<div class="NB-menu-manage-container"></div>
<div class="NB-taskbar-sidebar-toggle-open" title="Show sidebar"><div class="NB-taskbar-sidebar-toggle-open-image"></div></div>
<div class="right-pane">
<div id="story_titles" class="right-north"></div>
<div class="content-pane">
<div id="story_taskbar" class="NB-taskbar-container content-north">
<div class="NB-taskbar">
<ul class="taskbar_nav taskbar_nav_view">
<li class="task_button task_button_view task_view_page NB-active">
<span class="NB-task-title">Original</span>
<span class="NB-task-original-return NB-task-title">
<div>Return to</div>
<div>Original</div>
</span>
<div class="NB-task-view-switch-arrow NB-task-view-page-to-feed-arrow"></div>
</li>
<li class="task_button task_button_view task_view_feed">
<span class="NB-task-title">Feed</span>
<div class="NB-task-view-switch-arrow NB-task-view-feed-to-story-arrow"></div>
</li>
<li class="task_button task_button_view task_view_story">
<span class="NB-task-title">Story</span>
</li>
</ul>
<ul class="taskbar_nav taskbar_nav_story first">
<li class="task_button task_button_story task_story_previous"></li>
<li class="task_button task_button_story task_story_next_unread task_story_next_positive">
<span class="NB-task-title">Next Unread</span>
</li>
<li class="task_button task_button_story task_story_next"></li>
{% if not user.is_authenticated %}
<li class="task_button task_button_signup"></li>
{% endif %}
</ul>
</div>
</div>
{% if not user.is_authenticated %}
<div class="NB-callout-ftux-signup NB-callout">
<div class="NB-callout-container">
<div class="NB-callout-text"></div>
<div class="NB-callout-arrow"></div>
</div>
</div>
{% endif %}
<div id="story_pane" class="content-center">
<div class="NB-story-pane-container">
<iframe id="feed_iframe" class="NB-feed-iframe"></iframe>
<div class="NB-feed-story-view NB-view-hidden">
<div class="NB-feed-story-view-floater"></div>
<ul class="NB-feed-stories"></ul>
</div>
<iframe id="story_iframe" class="NB-story-iframe"></iframe>
</div>
</div>
<div id="mouse-indicator">
<div class="NB-callout-mouse-indicator NB-callout">
<div class="NB-callout-container">
<div class="NB-callout-text"></div>
<div class="NB-callout-arrow"></div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}