{% macro render_review_vote(review, current_user, next_url) %}
	{% set (positive, negative, is_positive) = review.get_totals(current_user) %}
	<form class="-group" method="post" action="{{ review.getVoteUrl(next_url) }}">
		<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
		<div class="btn-group">
			<button class="btn {% if is_positive == true %}btn-primary{% else %}btn-secondary{% endif %}" name="is_positive" value="yes">
				{{ _("Helpful") }}
				{% if positive > 0 %}
					<span class="badge badge-light ml-1">{{ positive }}</span>
				{% endif %}
			</button>
			<button class="btn {% if is_positive == false %}btn-primary{% else %}btn-secondary{% endif %}" name="is_positive" value="no">
				{{ _("Unhelpful") }}
				{% if negative > 0 %}
					<span class="badge badge-light ml-1">{{ negative }}</span>
				{% endif %}
			</button>
		</div>
	</form>
{% endmacro %}

{% macro render_reviews(reviews, current_user, show_package_link=False) -%}
<ul class="comments mt-4 mb-0">
	{% for review in reviews %}
		{% set review_anchor = "review-" + (review.id | string) %}
		<li class="row my-2 mx-0">
			<a id="{{ review_anchor }}"></a>
			<div class="col-md-1 p-1">
				<a href="{{ url_for('users.profile', username=review.author.username) }}">
					<img class="img-fluid user-photo img-thumbnail img-thumbnail-1" src="{{ review.author.getProfilePicURL() }}">
				</a>
			</div>
			<div class="col-md-auto pl-1 pr-3 pt-2 text-center" style=" font-size: 200%;">
				{% if review.recommends %}
					<i class="fas fa-thumbs-up" style="color:#6f6;"></i>
				{% else %}
					<i class="fas fa-thumbs-down" style="color:#f66;"></i>
				{% endif %}
			</div>
			{% if review.thread %}
				{% set reply = review.thread.replies[0] %}
				<div class="col pr-0">
					<div class="card">
						<div class="card-header">
							<a class="author {{ review.author.rank.name }}"
									href="{{ url_for('users.profile', username=review.author.username) }}">
								{{ review.author.display_name }}
							</a>

							<a name="reply-{{ reply.id }}" class="text-muted float-right"
									href="{{ url_for('threads.view', id=review.thread.id) }}#reply-{{ reply.id }}">
								{{ review.created_at | datetime }}
							</a>
						</div>

						<div class="card-body markdown">
							{% if current_user == review.author %}
								<a class="btn btn-primary btn-sm ml-1 float-right"
										href="{{ review.package.getURL("packages.review") }}">
									<i class="fas fa-pen"></i>
								</a>
							{% endif %}

							<p>
								<strong>{{ review.thread.title }}</strong>
							</p>

							{{ reply.comment | markdown }}

							<div class="btn-toolbar mt-2 mb-0">
								{% if show_package_link %}
									<a class="btn btn-primary mr-1" href="{{ review.package.getURL("packages.view") }}">
										{{ _("%(title)s by %(author)s",
												title="<b>" | safe + review.package.title + "</b>" | safe,
												author=review.package.author.display_name) }}
									</a>
								{% endif %}

								<a class="btn {% if review.thread.replies.count() > 1 %} btn-primary {% else %} btn-secondary {% endif %} mr-1"
										href="{{ url_for('threads.view', id=review.thread.id) }}">
									<i class="fas fa-comments mr-2"></i>
									{{ _("%(num)d comments", num=review.thread.replies.count() - 1) }}
								</a>

								{{ render_review_vote(review, current_user, url_set_anchor(review_anchor)) }}
							</div>
						</div>
					</div>
				</div>
			{% endif %}
		</li>
	{% else %}
		<li>
			<i>{{ _("No reviews, yet.") }}</i>
		</li>
	{% endfor %}
</ul>
{% endmacro %}


{% macro render_review_form(package, current_user) -%}
	<div class="card mt-0 mb-4 ">
		<div class="card-header">
			{{ _("Review") }}
		</div>
		<form method="post" action="{{ package.getURL("packages.review") }}" class="card-body">
			<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
			<p>
				{{ _("Do you recommend this %(type)s?", type=package.type.value | lower) }}
			</p>

			<div class="btn-group btn-group-toggle" data-toggle="buttons">
				<label class="btn btn-primary">
					<i class="fas fa-thumbs-up mr-2"></i>
					<input type="radio" name="recommends" value="yes" autocomplete="off"> {{ _("Yes") }}
				</label>
				<label class="btn btn-primary">
					<i class="fas fa-thumbs-down mr-2"></i>
					<input type="radio" name="recommends" value="no" autocomplete="off"> {{ _("No") }}
				</label>
			</div>

			<p class="mt-4 mb-3">
				{{ _("Why or why not? Try to be constructive") }}
			</p>

			<div class="form-group">
				<label for="title">{{ _("Title") }}</label>
				<input class="form-control" id="title" name="title" required="" type="text">
			</div>

			<textarea class="form-control markdown" required maxlength=2000 name="comment"></textarea><br />
			<input class="btn btn-primary" type="submit" value="{{ _('Post Review') }}" />
		</form>
	</div>
{% endmacro %}


{% macro render_review_preview(package, current_user) -%}
	<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
	<div class="card mt-0 mb-4 ">
		<div class="card-header">
			{{ _("Review") }}
		</div>
		<form method="post" action="{{ package.getURL("packages.review") }}" class="card-body">
			<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
			<p>
				{{ _("Do you recommend this %(type)s?", type=package.type.value | lower) }}
			</p>

			<div class="btn-group">
				<button class="btn btn-primary" name="recommends" value="yes">
					<i class="fas fa-thumbs-up mr-2"></i>
					{{ _("Yes") }}
				</button>
				<button class="btn btn-primary" name="recommends" value="no">
					<i class="fas fa-thumbs-down mr-2"></i>
					{{ _("No") }}
				</button>
			</div>
		</form>
	</div>
{% endmacro %}
