- Заменен лишний div.container на стандартный container для единообразия - Заменен класс .card на .ios-card в секции активности для устранения конфликтов стилей - Добавлен card-list.css в base.html для корректного отображения карточек новостей - Добавлены CSS правила для правильного поведения .row и колонок в grid-layout - Исправлена проблема с выходом календаря за границы страницы - Убраны видимые скроллбары у modal-body и modal-content для чистого UI
82 lines
3.1 KiB
HTML
82 lines
3.1 KiB
HTML
{% load static django_bootstrap5 %}
|
||
|
||
{% block content %}
|
||
<div class="container">
|
||
<div class="d-flex align-items-center gap-3 mb-4">
|
||
<i class="bi-megaphone display-6 text-primary"></i>
|
||
<h2 class="mb-0 fw-bold" style="letter-spacing:0.5px;">
|
||
Новости отдела:
|
||
</h2>
|
||
</div>
|
||
|
||
<div class="mb-3">
|
||
<a href="{% url 'feed:post_create' %}?department={{ department.pk }}" class="btn btn-primary">
|
||
<i class="bi-plus-circle"></i> Новая публикация
|
||
</a>
|
||
</div>
|
||
|
||
{% if new_employees %}
|
||
<div class="alert alert-light p-3 mb-4 border rounded-3">
|
||
<div class="fw-semibold mb-2">Новые сотрудники отдела:</div>
|
||
<div class="d-flex gap-2 flex-wrap">
|
||
{% for emp in new_employees %}
|
||
<a href="{% url 'employees:employee_detail' emp.pk %}" title="{{ emp.get_full_name }}">
|
||
{% if emp.avatar %}
|
||
<img src="{{ emp.avatar.url }}" class="rounded-circle border" style="width: 40px; height: 40px; object-fit: cover;">
|
||
{% else %}
|
||
<span class="bi-person-circle fs-2 text-secondary"></span>
|
||
{% endif %}
|
||
</a>
|
||
{% endfor %}
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
|
||
{% if posts %}
|
||
<div class="row g-4">
|
||
{% for post in posts %}
|
||
<div class="col-12">
|
||
<div class="card shadow-sm h-100 border-0">
|
||
{% if post.image %}
|
||
<img src="{{ post.image.url }}" class="card-img-top"
|
||
alt="{{ post.title }}"
|
||
style="max-height: 240px; object-fit: cover; border-top-left-radius:.5rem; border-top-right-radius:.5rem;">
|
||
{% endif %}
|
||
<div class="card-body">
|
||
<h5 class="card-title mb-2 d-flex align-items-center gap-2">
|
||
{{ post.title }}
|
||
{% if post.pinned %}
|
||
<span class="badge bg-warning text-dark"></span>
|
||
{% endif %}
|
||
{% if department.head == user %}
|
||
<a href="{% url 'feed:pin_post' post.pk %}" class="btn btn-sm btn-outline-warning ms-2">
|
||
{% if post.pinned %} Открепить {% else %} Закрепить {% endif %}
|
||
</a>
|
||
{% endif %}
|
||
</h5>
|
||
<p class="card-text mb-2">{{ post.body|truncatewords:32 }}</p>
|
||
<div class="small text-muted mb-2">
|
||
Автор: {{ post.author.get_full_name|default:post.author.username }} • {{ post.created_at|date:"d.m.Y H:i" }}
|
||
</div>
|
||
<a href="{% url 'feed:post_detail' post.pk %}" class="btn btn-sm btn-outline-primary rounded-pill px-3">
|
||
Подробнее
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
{% else %}
|
||
<div class="alert alert-info shadow-sm mt-4 rounded-3">
|
||
В отделе пока нет новостей.
|
||
</div>
|
||
{% endif %}
|
||
</div>
|
||
{% endblock %}
|
||
|
||
{% block extra_js %}
|
||
{{ block.super }}
|
||
<!-- Emoji Picker Library -->
|
||
<script type="module" src="https://cdn.jsdelivr.net/npm/emoji-picker-element@^1/index.js"></script>
|
||
{% endblock %}
|