diff options
author | Matthew Lemon <y@yulqen.org> | 2024-08-02 16:17:53 +0100 |
---|---|---|
committer | Matthew Lemon <y@yulqen.org> | 2024-08-02 16:17:53 +0100 |
commit | a75aca148ba7db29e14e30f2e0707b1efac1ff94 (patch) | |
tree | fad1d439446507f59377115267b6143de643885e /pyblackbird_cc/templates | |
parent | 27576670437e9edd139bae93efc5bd9577f83e35 (diff) |
Refactored list template into includes to fix div hell.
Diffstat (limited to 'pyblackbird_cc/templates')
-rw-r--r-- | pyblackbird_cc/templates/resources/admin_bar.html | 28 | ||||
-rw-r--r-- | pyblackbird_cc/templates/resources/resource_card.html | 42 | ||||
-rw-r--r-- | pyblackbird_cc/templates/resources/resource_list.html | 177 |
3 files changed, 104 insertions, 143 deletions
diff --git a/pyblackbird_cc/templates/resources/admin_bar.html b/pyblackbird_cc/templates/resources/admin_bar.html new file mode 100644 index 0000000..5bddde6 --- /dev/null +++ b/pyblackbird_cc/templates/resources/admin_bar.html @@ -0,0 +1,28 @@ + {# admin block #} + {% if request.user.is_authenticated and request.user.is_staff %} + <div class="row bg-white p-4 rounded border border-success border-opacity-25"> + <h5 class="text-decoration-underline">Admin bar</h5> + <p> + Only you will see this bar - normal users will not see it. It allows us to + include buttons for adding new resources, etc. + </p> + <div class="col"> + <div class="d-flex flex-row flex-wrap justify-content-between"> + <div> + <a class="btn btn-primary my-md-2" + href="{% url 'resources:create_resource' %} ">Add a new resource</a> + </div> + <div class="bg-danger p-2 my-2 text-dark bg-white border border-1 border-danger"> + Logged in as + <strong>{{ request.user.email }}</strong> + </div> + <div class="my-md-2"> + <form action="{% url 'account_logout' %}" method="post"> + {% csrf_token %} + <button type="submit" class="btn btn-primary">Log out</button> + </form> + </div> + </div> + </div> + </div> + {% endif %} diff --git a/pyblackbird_cc/templates/resources/resource_card.html b/pyblackbird_cc/templates/resources/resource_card.html new file mode 100644 index 0000000..67807cc --- /dev/null +++ b/pyblackbird_cc/templates/resources/resource_card.html @@ -0,0 +1,42 @@ +{% load markdown_extras %} + + +<div class="card mx-2 mt-2 shadow-sm" style="border-color: {{ resource.main_resource_category_colour_css_class }}; border-width: 3px;"> + <img class="card-img-top" + src="{{ resource.thumbnail_urls|first }}" + alt="{{ resource.thumbnail_filename }}"> + <div class="card-body"> + <div class="d-flex flex-row justify-content-start align-content-center"> + <h5 class="card-title"><a + href="{% url 'resources:resource_detail' resource_id=resource.id %}">{{ resource.name }}</a></h5> + </div> + <div> + <span class="badge bg-secondary me-2">{{ resource.age_range }}</span> + </div> + <div> + {% if resource.main_resource_category_name == "English as a Foreign Language (EFL)" %} + <span class="badge me-2" + style="background-color: {{ resource.main_resource_category_colour_css_class }}; color: {{ resource.main_resource_badge_foreground_colour }}">EFL</span> + {% else %} + <span class="badge me-2" + style="background-color: {{ resource.main_resource_category_colour_css_class }}; color: {{ resource.main_resource_badge_foreground_colour }}">{{ resource.main_resource_category_name }}</span> + {% endif %} + </div> + {% if request.user.is_authenticated and request.user.is_staff %} + <div> + <span class="badge bg-info me-2">Feature slot: {{ resource.feature_slot }}</span> + </div> + {% endif %} + {% if resource.card_description %} + <p class="card-text my-2">{{ resource.card_description | markdown | safe }}</p> + {% else %} + <p class="card-text my-2">{{ resource.description | markdown | safe }}</p> + {% endif %} + </div> + {% if request.user.is_authenticated and request.user.is_staff %} + <div class="card-footer"> + <a href="{% url 'resources:resource_update_metadata' resource.id %}" + class="btn btn-outline-primary btn-sm">Edit</a> + </div> + {% endif %} +</div>
\ No newline at end of file diff --git a/pyblackbird_cc/templates/resources/resource_list.html b/pyblackbird_cc/templates/resources/resource_list.html index 2f137e0..7be49c6 100644 --- a/pyblackbird_cc/templates/resources/resource_list.html +++ b/pyblackbird_cc/templates/resources/resource_list.html @@ -1,161 +1,52 @@ {% extends "base.html" %} - {% load static %} {% load markdown_extras %} - {% block title %} - Joanna Lemon Learning - Resource List + Joanna Lemon Learning - Resource List {% endblock title %} {% block content %} - {# admin block #} - {% if request.user.is_authenticated and request.user.is_staff %} - <div class="row bg-white p-4 rounded border border-success border-opacity-25"> - <h5 class="text-decoration-underline">Admin bar</h5> - <p> - Only you will see this bar - normal users will not see it. It allows us to - include buttons for adding new resources, etc. - </p> - <div class="col"> - <div class="d-flex flex-row flex-wrap justify-content-between"> - <div> - <a class="btn btn-primary my-md-2" - href="{% url 'resources:create_resource' %} ">Add a new resource</a> - </div> - <div class="bg-danger p-2 my-2 text-dark bg-white border border-1 border-danger"> - Logged in as - <strong>{{ request.user.email }}</strong> - </div> - <div class="my-md-2"> - <form action="{% url 'account_logout' %}" method="post"> - {% csrf_token %} - <button type="submit" class="btn btn-primary">Log out</button> - </form> - </div> + {% include "resources/admin_bar.html" %} + + {# featured resources #} + {% if featured_resources %} + <div class="row my-4 text-center"> + <h5 class="display-6">Featured resources</h5> </div> - </div> - </div> - {% endif %} - {# featured resources#} - <div class="row my-4"> - <div class="col"> - {% if featured_resources %} - <div class="row my-4 text-center"> - <div class="col"> - <h5 class="display-6">Featured resources</h5> - </div> - </div> - <div class="d-flex flex-row justify-content-between flex-wrap"> - {% for resource in featured_resources %} - {% if featured_resources|length == 1 %} - <div class="col-lg-12 col-md-12 col-sm-12 mb-4"> - {% elif featured_resources|length == 2 %} - <div class="col-lg-6 col-md-6 col-sm-12 mb-4"> - {% else %} - <div class="col-lg-4 col-md-6 col-sm-12 mb-4"> - {% endif %} - <div class="card mx-2 mt-2 shadow-sm h-100" - style="border-color: {{ resource.main_resource_category_colour_css_class }}; border-width: 5px;"> - <img class="card-img-top" - src="{{ resource.thumbnail_urls|first }}" - alt="{{ resource.thumbnail_filename }}"/> - <div class="card-body"> - <h5 class="card-title"><a - href="{% url 'resources:resource_detail' resource_id=resource.id %}">{{ resource.name }}</a></h5> - <div class="d-flex flex-row justify-content-start align-content-center"> - <div> - {% if resource.main_resource_category_name == "English as a Foreign Language (EFL)" %} - <span class="badge me-2" - style="background-color: {{ resource.main_resource_category_colour_css_class }}; color: {{ resource.main_resource_badge_foreground_colour }}">EFL</span> - {% else %} - <span class="badge me-2" - style="background-color: {{ resource.main_resource_category_colour_css_class }}; color: {{ resource.main_resource_badge_foreground_colour }}">{{ resource.main_resource_category_name }}</span> + <div class="row"> + {% for featured_resource in featured_resources %} + {% if featured_resources|length == 1 %} + <div class="col-lg-12 col-md-12 col-sm-12 mb-4"> + {% elif featured_resources|length == 2 %} + <div class="col-lg-6 col-md-6 col-sm-12 mb-4"> + {% elif featured_resources|length == 3 %} + <div class="col-lg-4 col-md-6 col-sm-12 mb-4"> {% endif %} - </div> - <div> - <span class="badge bg-secondary me-2">{{ resource.age_range }}</span> - </div> - {% if request.user.is_authenticated and request.user.is_staff %} - <div> - <span class="badge bg-info me-2">Feature slot: {{ resource.feature_slot }}</span> - </div> - {% endif %} + {% include "resources/resource_card.html" with resource=featured_resource %} </div> - {% if resource.card_description %} - <p class="card-text my-3">{{ resource.card_description | markdown | safe }}</p> - {% else %} - <p class="card-text my-3">{{ resource.description | markdown | safe }}</p> - {% endif %} - </div> - {% if request.user.is_authenticated and request.user.is_staff %} - <div class="card-footer"> - <a href="{% url "resources:resource_update_metadata" resource.id %}" - class="btn btn-outline-primary btn-sm">Edit</a> - {% endif %} - </div> - </div> + {% endfor %} </div> - {% endfor %} - {% else %} - <p>There are no featured resources</p> - {% endif %} -</div> -</div> + {% else %} + <p>There are no featured resources</p> + {% endif %} -{# standard resources #} -<div class="d-flex flex-row justify-content-between flex-wrap"> - <div class="col"> - {% if resource_list %} - <div class="row my-4 text-center"> +{# standard resources #} +{% if resource_list %} + <div class="row my-4 text-center"> <div class="col"> - <h5 class="display-6">Standard resources</h5> + <h5 class="display-6">Standard resources</h5> </div> - </div> - <div class="d-flex flex-row justify-content-start flex-wrap"> + </div> + + <div class="d-flex flex-row flex-wrap"> {% for resource in resource_list %} - {# <div class="card mx-4 mt-4 border border-width-1" style="width: 17rem;">#} - <div class="card mx-2 mt-2 shadow-sm border-width-1" - style="width: 19rem; border-color: {{ resource.main_resource_category_colour_css_class }}; border-width: 4px;"> - <img class="card-img-top" - src="{{ resource.thumbnail_urls|first }}" - alt="{{ resource.thumbnail_filename }}"/> - <div class="card-body"> - <h5 class="card-title"><a - href="{% url 'resources:resource_detail' resource_id=resource.id %}">{{ resource.name }}</a></h5> - <div class="d-flex flex-row justify-content-start align-content-center"> - <div> - {% if resource.main_resource_category_name == "English as a Foreign Language (EFL)" %} - <span class="badge me-2" - style="background-color: {{ resource.main_resource_category_colour_css_class }}; color: {{ resource.main_resource_badge_foreground_colour }}">EFL</span> - {% else %} - <span class="badge me-2" - style="background-color: {{ resource.main_resource_category_colour_css_class }}; color: {{ resource.main_resource_badge_foreground_colour }}">{{ resource.main_resource_category_name }}</span> - {% endif %} - </div> - <div> - <span class="badge bg-secondary me-2">{{ resource.age_range }}</span> - </div> - </div> - {% if resource.card_description %} - <p class="card-text my-3">{{ resource.card_description | markdown | safe }}</p> - {% else %} - <p class="card-text my-3">{{ resource.description | markdown | safe }}</p> - {% endif %} + <div class="col"> + {% include "resources/resource_card.html" with resource=resource %} </div> - {% if request.user.is_authenticated and request.user.is_staff %} - <div class="card-footer"> - <a href="{% url "resources:resource_update_metadata" resource.id %}" - class="btn btn-outline-primary btn-sm">Edit</a> - {% endif %} - </div> - </div> {% endfor %} - </div> - </div> - {% else %} - <p>There are no resources</p> - {% endif %} -</div> -</div> -{% endblock content %} + </div> +{% else %} + <p>There are no resources</p> +{% endif %} +{% endblock content %}
\ No newline at end of file |