refactor(bulma): Add action dropdown, remove card layout
This commit is contained in:
		@@ -40,4 +40,33 @@ document.addEventListener('DOMContentLoaded', () => {
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
  // DROPDOWNS
 | 
			
		||||
  const $clickableDropdowns = document.querySelectorAll(
 | 
			
		||||
    ".dropdown:not(.is-hoverable)",
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  if ($clickableDropdowns.length > 0) {
 | 
			
		||||
    $clickableDropdowns.forEach(($dropdown) => {
 | 
			
		||||
      if (!$dropdown.querySelector("button")) {
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      $dropdown.querySelector("button").addEventListener("click", (event) => {
 | 
			
		||||
        event.stopPropagation();
 | 
			
		||||
        $dropdown.classList.toggle("is-active");
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    document.addEventListener("click", () => {
 | 
			
		||||
      closeDropdowns();
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function closeDropdowns() {
 | 
			
		||||
    $clickableDropdowns.forEach(($el) => {
 | 
			
		||||
      $el.classList.remove("is-active");
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,103 +8,142 @@
 | 
			
		||||
{% block content %}
 | 
			
		||||
    <div class="columns">
 | 
			
		||||
        <div class="column is-two-thirds">
 | 
			
		||||
            <div class="card">
 | 
			
		||||
                <div class="card-header">
 | 
			
		||||
                    <h1 class="card-header-title title is-2">{{ adoption_notice.name }}</h1>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="card-content">
 | 
			
		||||
                    <div class="grid">
 | 
			
		||||
                        <div class="cell">
 | 
			
		||||
                            <!--- General Information --->
 | 
			
		||||
                            <div class="grid">
 | 
			
		||||
 | 
			
		||||
                                <div class="cell">
 | 
			
		||||
                                    <h2><strong>{% translate "Ort" %}</strong></h2>
 | 
			
		||||
                                    <p>{% if adoption_notice.location %}
 | 
			
		||||
                                        {{ adoption_notice.location }}
 | 
			
		||||
                                    {% else %}
 | 
			
		||||
                                        {{ adoption_notice.location_string }}
 | 
			
		||||
                                    {% endif %}</p>
 | 
			
		||||
                                </div>
 | 
			
		||||
                                <div class="cell">
 | 
			
		||||
                                    {% include "fellchensammlung/partials/bulma-sex-overview.html" %}
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
            <!--- Title level (including action dropdown) -->
 | 
			
		||||
            <div class="level is-mobile">
 | 
			
		||||
                <div class="level-left">
 | 
			
		||||
                    <div class="level-item">
 | 
			
		||||
                        <p class="title is-2">{{ adoption_notice.name }}</p>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                    <div class="columns">
 | 
			
		||||
                        <!--- Images --->
 | 
			
		||||
                        <div class="column block">
 | 
			
		||||
                            <div class="card">
 | 
			
		||||
                                <div class="grid card-content">
 | 
			
		||||
                                    <div class="gallery">
 | 
			
		||||
                                        {% with photo=adoption_notice.get_photos.0 %}
 | 
			
		||||
                                            <div class="main-photo">
 | 
			
		||||
                                                <a href="{{ MEDIA_URL }}{{ photo.image }}"
 | 
			
		||||
                                                   data-pswp-width="{{ photo.image.width }}"
 | 
			
		||||
                                                   data-pswp-height="{{ photo.image.height }}"
 | 
			
		||||
                                                   target="_blank">
 | 
			
		||||
                                                    <img src="{{ MEDIA_URL }}{{ photo.image }}"
 | 
			
		||||
                                                         alt="{{ photo.alt_text }}">
 | 
			
		||||
                                                </a>
 | 
			
		||||
                                            </div>
 | 
			
		||||
                                        {% endwith %}
 | 
			
		||||
                <div class="level-right">
 | 
			
		||||
                    <div class="level-item">
 | 
			
		||||
                        <div class="dropdown is-right">
 | 
			
		||||
                            <div class="dropdown-trigger">
 | 
			
		||||
                                <button class="button" aria-haspopup="true" aria-controls="dropdown-menu4">
 | 
			
		||||
                                    <span><i class="fas fa-gear" aria-label="{% trans 'Aktionen' %}"></i></span>
 | 
			
		||||
                                    <span class="icon is-small">
 | 
			
		||||
                                <i class="fas fa-angle-down" aria-hidden="true"></i>
 | 
			
		||||
                            </span>
 | 
			
		||||
                                </button>
 | 
			
		||||
                            </div>
 | 
			
		||||
                            <!--- Action menu (dropdown) --->
 | 
			
		||||
                            <div class="dropdown-menu" role="menu">
 | 
			
		||||
                                <div class="dropdown-content">
 | 
			
		||||
 | 
			
		||||
                                        <div class="thumbnail-row">
 | 
			
		||||
                                            {% for photo in adoption_notice.get_photos|slice:"1:4" %}
 | 
			
		||||
                                                <div class="thumbnail">
 | 
			
		||||
                                                    <a href="{{ MEDIA_URL }}{{ photo.image }}"
 | 
			
		||||
                                                       data-pswp-width="{{ photo.image.width }}"
 | 
			
		||||
                                                       data-pswp-height="{{ photo.image.height }}"
 | 
			
		||||
                                                       target="_blank">
 | 
			
		||||
                                                        <img src="{{ MEDIA_URL }}{{ photo.image }}"
 | 
			
		||||
                                                             alt="{{ photo.alt_text }}">
 | 
			
		||||
                                                    </a>
 | 
			
		||||
                                                </div>
 | 
			
		||||
                                            {% endfor %}
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    <a class="dropdown-item">
 | 
			
		||||
                                        <i class="fas fa-check"
 | 
			
		||||
                                           aria-hidden="true"></i> {% trans 'Als aktiv bestätigen' %}
 | 
			
		||||
                                    </a>
 | 
			
		||||
                                    <a class="dropdown-item">
 | 
			
		||||
                                        Elements
 | 
			
		||||
                                    </a>
 | 
			
		||||
                                    <a class="dropdown-item">
 | 
			
		||||
                                        Components
 | 
			
		||||
                                    </a>
 | 
			
		||||
                                    <hr class="dropdown-divider">
 | 
			
		||||
                                    <div class="dropdown-item">
 | 
			
		||||
                                        Version 1.0.4
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <!--- Description --->
 | 
			
		||||
                        <div class="column block">
 | 
			
		||||
                            <div class="card">
 | 
			
		||||
                                <div class="card-header">
 | 
			
		||||
                                    <h1 class="card-header-title title is-2">{% translate "Beschreibung" %}</h1>
 | 
			
		||||
                                </div>
 | 
			
		||||
                                <div class="card-content">
 | 
			
		||||
                                    <p class="expandable">{% if adoption_notice.description %}
 | 
			
		||||
                                        {{ adoption_notice.description | render_markdown }}
 | 
			
		||||
                                    {% else %}
 | 
			
		||||
                                        {% translate "Keine Beschreibung angegeben" %}
 | 
			
		||||
                                    {% endif %}
 | 
			
		||||
                                    </p>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <!--- General Information --->
 | 
			
		||||
            <div class="grid">
 | 
			
		||||
                <div class="cell">
 | 
			
		||||
                    <div class="grid">
 | 
			
		||||
 | 
			
		||||
                        <div class="cell">
 | 
			
		||||
                            <h2><strong>{% translate "Ort" %}</strong></h2>
 | 
			
		||||
                            <p>{% if adoption_notice.location %}
 | 
			
		||||
                                {{ adoption_notice.location }}
 | 
			
		||||
                            {% else %}
 | 
			
		||||
                                {{ adoption_notice.location_string }}
 | 
			
		||||
                            {% endif %}</p>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="cell">
 | 
			
		||||
                            {% include "fellchensammlung/partials/bulma-sex-overview.html" %}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <!--- Images and Description --->
 | 
			
		||||
            <div class="columns">
 | 
			
		||||
                <!--- Images --->
 | 
			
		||||
                <div class="column block">
 | 
			
		||||
                    <div class="card">
 | 
			
		||||
                        <div class="grid card-content">
 | 
			
		||||
                            <div class="gallery">
 | 
			
		||||
                                {% with photo=adoption_notice.get_photos.0 %}
 | 
			
		||||
                                    <div class="main-photo">
 | 
			
		||||
                                        <a href="{{ MEDIA_URL }}{{ photo.image }}"
 | 
			
		||||
                                           data-pswp-width="{{ photo.image.width }}"
 | 
			
		||||
                                           data-pswp-height="{{ photo.image.height }}"
 | 
			
		||||
                                           target="_blank">
 | 
			
		||||
                                            <img src="{{ MEDIA_URL }}{{ photo.image }}"
 | 
			
		||||
                                                 alt="{{ photo.alt_text }}">
 | 
			
		||||
                                        </a>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                {% endwith %}
 | 
			
		||||
 | 
			
		||||
                                <div class="thumbnail-row">
 | 
			
		||||
                                    {% for photo in adoption_notice.get_photos|slice:"1:4" %}
 | 
			
		||||
                                        <div class="thumbnail">
 | 
			
		||||
                                            <a href="{{ MEDIA_URL }}{{ photo.image }}"
 | 
			
		||||
                                               data-pswp-width="{{ photo.image.width }}"
 | 
			
		||||
                                               data-pswp-height="{{ photo.image.height }}"
 | 
			
		||||
                                               target="_blank">
 | 
			
		||||
                                                <img src="{{ MEDIA_URL }}{{ photo.image }}"
 | 
			
		||||
                                                     alt="{{ photo.alt_text }}">
 | 
			
		||||
                                            </a>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    {% endfor %}
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="card-footer">
 | 
			
		||||
                    {% if has_edit_permission %}
 | 
			
		||||
                        <div class="card-footer-item">
 | 
			
		||||
                            <div class="column">
 | 
			
		||||
                                <a class="button is-primary is-light"
 | 
			
		||||
                                   href="{% url 'adoption-notice-add-photo' adoption_notice_id=adoption_notice.pk %}">
 | 
			
		||||
                                    {% translate 'Foto hinzufügen' %}
 | 
			
		||||
                                </a>
 | 
			
		||||
                            </div>
 | 
			
		||||
                            <div class="card-footer-item">
 | 
			
		||||
                                <a class="button is-primary"
 | 
			
		||||
                                   href="{% url 'adoption-notice-edit' adoption_notice_id=adoption_notice.pk %}">
 | 
			
		||||
                                    {% translate 'Bearbeiten' %}
 | 
			
		||||
                                </a>
 | 
			
		||||
                            </div>
 | 
			
		||||
                <!--- Description --->
 | 
			
		||||
                <div class="column block">
 | 
			
		||||
                    <div class="card">
 | 
			
		||||
                        <div class="card-header">
 | 
			
		||||
                            <h1 class="card-header-title title is-2">{% translate "Beschreibung" %}</h1>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    {% endif %}
 | 
			
		||||
                        <div class="card-content">
 | 
			
		||||
                            <p class="expandable">{% if adoption_notice.description %}
 | 
			
		||||
                                {{ adoption_notice.description | render_markdown }}
 | 
			
		||||
                            {% else %}
 | 
			
		||||
                                {% translate "Keine Beschreibung angegeben" %}
 | 
			
		||||
                            {% endif %}
 | 
			
		||||
                            </p>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <!--- Edit buttons -->
 | 
			
		||||
            {% if has_edit_permission %}
 | 
			
		||||
                <div class="level">
 | 
			
		||||
                    <div class="card-footer-item">
 | 
			
		||||
                        <div class="column">
 | 
			
		||||
                            <a class="button is-primary is-light"
 | 
			
		||||
                               href="{% url 'adoption-notice-add-photo' adoption_notice_id=adoption_notice.pk %}">
 | 
			
		||||
                                {% translate 'Foto hinzufügen' %}
 | 
			
		||||
                            </a>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="card-footer-item">
 | 
			
		||||
                            <a class="button is-primary"
 | 
			
		||||
                               href="{% url 'adoption-notice-edit' adoption_notice_id=adoption_notice.pk %}">
 | 
			
		||||
                                {% translate 'Bearbeiten' %}
 | 
			
		||||
                            </a>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            {% endif %}
 | 
			
		||||
            <div class="block">
 | 
			
		||||
                {% if adoption_notice.further_information %}
 | 
			
		||||
                    <form method="get" action="{% url 'bulma-external-site' %}">
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user