{% extends "base.html" %} {% block title %}{{ listing.title }} — Classifieds{% endblock %} {% block meta_description %}{% endblock %} {% block og_title %}{{ listing.title }}{% endblock %} {% block og_description %}{{ listing.body[:200] | replace('\n', ' ') }}{% endblock %} {% block og_type %}product{% endblock %} {% block og_image %} {% if listing.images %} {% endif %} {% endblock %} {% block head %} {% endblock %} {% block content %}

{{ listing.title }}

{% if listing.price_display %}{{ listing.price_display }}{% endif %} {{ listing.category.name }} {% if not listing.is_live %}{{ listing.status.value }}{% endif %}

{% if listing.city %}{{ listing.city }}, {{ listing.state }} {{ listing.zip }}{% endif %} · {{ _('%(n)s views', n=listing.view_count) }}

{% if listing.images %} {% endif %}
{{ listing.body | replace('\n','
') | safe }}
{% if listing.attributes %} {% for f in listing.category.fields() %} {% if listing.attributes.get(f.name) is not none %} {% endif %} {% endfor %}
{{ f.label }}{{ listing.attributes.get(f.name) }}
{% endif %}
{# Reviews section #} {% if listing.reviews.count() %}

{{ _('Reviews') }} ({{ listing.reviews.count() }})

{% set rating_info = listing_rating %} {% if rating_info and rating_info.avg %}
{{ '★' * (rating_info.avg | round | int) }}{{ '☆' * (5 - (rating_info.avg | round | int)) }} {{ '%.1f'|format(rating_info.avg) }} / 5  ({{ rating_info.count }})
{% endif %} {% for review in listing.reviews.order_by(none).all() %}
{{ '★' * review.rating }}{{ '☆' * (5 - review.rating) }}
{{ review.author.display_name }} · {{ review.created_at.strftime('%Y-%m-%d') }}
{% if review.body %}

{{ review.body }}

{% endif %}
{% endfor %}
{% endif %} {% endblock %}