forked from mirrors/bookwyrm
Adds markup for set goal status on feed page
This commit is contained in:
parent
b648012af5
commit
3a7271309e
5 changed files with 80 additions and 6 deletions
|
@ -47,8 +47,8 @@
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<p class="card-header-title">
|
<p class="card-header-title">
|
||||||
<span>{% include 'snippets/book_titleby.html' with book=book %}</span>
|
<span>{% include 'snippets/book_titleby.html' with book=book %}</span>
|
||||||
</>
|
</p>
|
||||||
<div class="card-header-icon is-hidden-tablet">
|
<div class="card-header-icon is-hidden-tablet">
|
||||||
{% include 'snippets/toggle/toggle_button.html' with label="close" controls_text="no-book" class="delete" %}
|
{% include 'snippets/toggle/toggle_button.html' with label="close" controls_text="no-book" class="delete" %}
|
||||||
</div>
|
</div>
|
||||||
|
@ -67,6 +67,14 @@
|
||||||
<input class="toggle-control" type="radio" name="recent-books" id="no-book">
|
<input class="toggle-control" type="radio" name="recent-books" id="no-book">
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if goal %}
|
||||||
|
<section class="section">
|
||||||
|
<div class="block">
|
||||||
|
{{ goal }} hi
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="column is-two-thirds" id="feed">
|
<div class="column is-two-thirds" id="feed">
|
||||||
|
@ -85,6 +93,33 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{# announcements and system messages #}
|
||||||
|
{% if not goal and tab == 'home' %}
|
||||||
|
<section class="block" aria-title="Announcements">
|
||||||
|
{% now 'Y' as year %}
|
||||||
|
<article class="card">
|
||||||
|
<header class="card-header">
|
||||||
|
<h3 class="card-header-title has-background-primary has-text-white">
|
||||||
|
{{ year }} reading goal
|
||||||
|
</h3>
|
||||||
|
</header>
|
||||||
|
<section class="card-content content">
|
||||||
|
<p>Set a goal for how many books you'll finish reading in {{ year }}, and track your progress throughout the year.</p>
|
||||||
|
|
||||||
|
{% include 'snippets/goal_form.html' %}
|
||||||
|
</section>
|
||||||
|
<footer class="card-footer has-background-white-bis">
|
||||||
|
<div class="card-footer-item is-flex-direction-column">
|
||||||
|
<button class="button is-danger is-light is-block">Dismiss message</button>
|
||||||
|
<p class="help">You can set or change your reading goal any time from your <a href="{{ request.user.local_path }}">profile page</a></p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
{% endif %}
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
{# activity feed #}
|
||||||
{% if not activities %}
|
{% if not activities %}
|
||||||
<p>There aren't any activities right now! Try following a user to get started</p>
|
<p>There aren't any activities right now! Try following a user to get started</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
<footer class="modal-card-foot">
|
<footer class="modal-card-foot">
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column field">
|
<div class="column field">
|
||||||
<label for="post-status">
|
<label for="post_status-{{ uuid }}">
|
||||||
<input type="checkbox" name="post-status" class="checkbox" checked>
|
<input type="checkbox" name="post-status" class="checkbox" id="post_status-{{ uuid }}" checked>
|
||||||
Post to feed
|
Post to feed
|
||||||
</label>
|
</label>
|
||||||
{% include 'snippets/privacy_select.html' %}
|
{% include 'snippets/privacy_select.html' %}
|
||||||
|
|
32
bookwyrm/templates/snippets/goal_form.html
Normal file
32
bookwyrm/templates/snippets/goal_form.html
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
<form method="post" name="goal" action="/goal/{{ year }}">
|
||||||
|
{% csrf_token %}
|
||||||
|
<input type="hidden" name="year" value="{{ year }}">
|
||||||
|
<input type="hidden" name="user" value="{{ request.user.id }}">
|
||||||
|
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<label class="label" for="id_goal">Reading goal:</label>
|
||||||
|
<div class="field has-addons">
|
||||||
|
<div class="control">
|
||||||
|
<input type="number" class="input" name="goal" id="id_goal" value="12">
|
||||||
|
</div>
|
||||||
|
<p class="button is-static">books</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="column">
|
||||||
|
<label for="post_status" class="label">
|
||||||
|
<input type="checkbox" name="post-status" id="post_status" class="checkbox" checked>
|
||||||
|
Post to feed
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<div class="field">
|
||||||
|
{% include 'snippets/privacy_select.html' %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<button type="submit" class="button is-link">Set goal</button>
|
||||||
|
</p>
|
||||||
|
</form>
|
|
@ -20,8 +20,8 @@
|
||||||
<footer class="modal-card-foot">
|
<footer class="modal-card-foot">
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column field">
|
<div class="column field">
|
||||||
<label for="post-status">
|
<label for="post_status-{{ uuid }}">
|
||||||
<input type="checkbox" name="post-status" class="checkbox" checked>
|
<input type="checkbox" name="post-status" class="checkbox" id="post_status-{{ uuid }}" checked>
|
||||||
Post to feed
|
Post to feed
|
||||||
</label>
|
</label>
|
||||||
{% include 'snippets/privacy_select.html' %}
|
{% include 'snippets/privacy_select.html' %}
|
||||||
|
|
|
@ -3,6 +3,7 @@ from django.contrib.auth.decorators import login_required
|
||||||
from django.core.paginator import Paginator
|
from django.core.paginator import Paginator
|
||||||
from django.db.models import Avg, Max
|
from django.db.models import Avg, Max
|
||||||
from django.template.response import TemplateResponse
|
from django.template.response import TemplateResponse
|
||||||
|
from django.utils import timezone
|
||||||
from django.utils.decorators import method_decorator
|
from django.utils.decorators import method_decorator
|
||||||
from django.views import View
|
from django.views import View
|
||||||
|
|
||||||
|
@ -86,12 +87,18 @@ class Feed(View):
|
||||||
activities = get_activity_feed(
|
activities = get_activity_feed(
|
||||||
request.user, ['public', 'followers'])
|
request.user, ['public', 'followers'])
|
||||||
paginated = Paginator(activities, PAGE_LENGTH)
|
paginated = Paginator(activities, PAGE_LENGTH)
|
||||||
|
|
||||||
|
goal = models.AnnualGoal.objects.filter(
|
||||||
|
user=request.user, year=timezone.now().year
|
||||||
|
).first()
|
||||||
data = {
|
data = {
|
||||||
'title': 'Updates Feed',
|
'title': 'Updates Feed',
|
||||||
'user': request.user,
|
'user': request.user,
|
||||||
'suggested_books': suggested_books,
|
'suggested_books': suggested_books,
|
||||||
'activities': paginated.page(page),
|
'activities': paginated.page(page),
|
||||||
'tab': tab,
|
'tab': tab,
|
||||||
|
'goal': goal,
|
||||||
|
'goal_form': forms.GoalForm(),
|
||||||
}
|
}
|
||||||
return TemplateResponse(request, 'feed.html', data)
|
return TemplateResponse(request, 'feed.html', data)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue