118 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends 'base.html' %}
 | 
						|
 | 
						|
{% block title %}通知公告 - 图书管理系统{% endblock %}
 | 
						|
 | 
						|
{% block head %}
 | 
						|
<link rel="preconnect" href="https://fonts.googleapis.com">
 | 
						|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
 | 
						|
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&family=Nunito+Sans:wght@400;600&display=swap" rel="stylesheet">
 | 
						|
<link rel="stylesheet" href="{{ url_for('static', filename='css/announcement-list.css') }}">
 | 
						|
{% endblock %}
 | 
						|
 | 
						|
{% block content %}
 | 
						|
<div class="announcement-container">
 | 
						|
    <div class="page-header">
 | 
						|
        <h1><i class="fas fa-bullhorn page-icon"></i> 通知公告</h1>
 | 
						|
        {# Optional: Add a create button if applicable for admins #}
 | 
						|
        {# <a href="{{ url_for('announcement.create_announcement') }}" class="btn btn-fresh-create">
 | 
						|
            <i class="fas fa-plus"></i> 发布新公告
 | 
						|
        </a> #}
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div class="announcement-list">
 | 
						|
        {% if pagination.items %}
 | 
						|
            {% for announcement in pagination.items %}
 | 
						|
                <div class="announcement-item {% if announcement.is_top %}pinned{% endif %}">
 | 
						|
                    {% if announcement.is_top %}
 | 
						|
                    <div class="pin-badge">
 | 
						|
                        <i class="fas fa-thumbtack"></i> 置顶推荐
 | 
						|
                    </div>
 | 
						|
                    {% endif %}
 | 
						|
                    <div class="announcement-header">
 | 
						|
                        <h3><a href="{{ url_for('announcement.announcement_detail', announcement_id=announcement.id) }}">{{ announcement.title }}</a></h3>
 | 
						|
                        <span class="date">{{ announcement.created_at.strftime('%Y年%m月%d日') }}</span>
 | 
						|
                    </div>
 | 
						|
                    <div class="announcement-preview">
 | 
						|
                        {{ announcement.content|striptags|truncate(130) }}
 | 
						|
                    </div>
 | 
						|
                    <div class="announcement-footer">
 | 
						|
                        <span class="publisher">
 | 
						|
                            <i class="fas fa-user-circle"></i>
 | 
						|
                            发布者: {{ announcement.publisher.username if announcement.publisher else '系统管理员' }}
 | 
						|
                        </span>
 | 
						|
                        <a href="{{ url_for('announcement.announcement_detail', announcement_id=announcement.id) }}" class="read-more">
 | 
						|
                            阅读全文 <i class="fas fa-arrow-right"></i>
 | 
						|
                        </a>
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
            {% endfor %}
 | 
						|
 | 
						|
            <!-- 分页 -->
 | 
						|
            <div class="pagination-container">
 | 
						|
                {% if pagination.pages > 1 %}
 | 
						|
                <nav aria-label="Page navigation">
 | 
						|
                    <ul class="pagination">
 | 
						|
                        {% if pagination.has_prev %}
 | 
						|
                        <li class="page-item">
 | 
						|
                            <a class="page-link" href="{{ url_for('announcement.announcement_list', page=pagination.prev_num) }}" aria-label="Previous">
 | 
						|
                                <span aria-hidden="true">«</span>
 | 
						|
                            </a>
 | 
						|
                        </li>
 | 
						|
                        {% else %}
 | 
						|
                        <li class="page-item disabled">
 | 
						|
                            <a class="page-link" href="#" aria-label="Previous">
 | 
						|
                                <span aria-hidden="true">«</span>
 | 
						|
                            </a>
 | 
						|
                        </li>
 | 
						|
                        {% endif %}
 | 
						|
 | 
						|
                        {% for page_num in pagination.iter_pages(left_edge=1, right_edge=1, left_current=1, right_current=1) %}
 | 
						|
                            {% if page_num %}
 | 
						|
                                {% if page_num == pagination.page %}
 | 
						|
                                <li class="page-item active">
 | 
						|
                                    <a class="page-link" href="{{ url_for('announcement.announcement_list', page=page_num) }}">{{ page_num }}</a>
 | 
						|
                                </li>
 | 
						|
                                {% else %}
 | 
						|
                                <li class="page-item">
 | 
						|
                                    <a class="page-link" href="{{ url_for('announcement.announcement_list', page=page_num) }}">{{ page_num }}</a>
 | 
						|
                                </li>
 | 
						|
                                {% endif %}
 | 
						|
                            {% else %}
 | 
						|
                                <li class="page-item disabled">
 | 
						|
                                    <a class="page-link" href="#">...</a>
 | 
						|
                                </li>
 | 
						|
                            {% endif %}
 | 
						|
                        {% endfor %}
 | 
						|
 | 
						|
                        {% if pagination.has_next %}
 | 
						|
                        <li class="page-item">
 | 
						|
                            <a class="page-link" href="{{ url_for('announcement.announcement_list', page=pagination.next_num) }}" aria-label="Next">
 | 
						|
                                <span aria-hidden="true">»</span>
 | 
						|
                            </a>
 | 
						|
                        </li>
 | 
						|
                        {% else %}
 | 
						|
                        <li class="page-item disabled">
 | 
						|
                            <a class="page-link" href="#" aria-label="Next">
 | 
						|
                                <span aria-hidden="true">»</span>
 | 
						|
                            </a>
 | 
						|
                        </li>
 | 
						|
                        {% endif %}
 | 
						|
                    </ul>
 | 
						|
                </nav>
 | 
						|
                {% endif %}
 | 
						|
            </div>
 | 
						|
        {% else %}
 | 
						|
            <div class="no-records">
 | 
						|
                 <img src="data:image/svg+xml;charset=UTF-8,%3csvg width='80' height='80' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM13 17H11V15H13V17ZM13 13H11V7H13V13Z' fill='%23FFAAA5'/%3e%3c/svg%3e" alt="No announcements icon" class="no-records-icon">
 | 
						|
                <p>暂时还没有新的通知公告哦,敬请期待!</p>
 | 
						|
            </div>
 | 
						|
        {% endif %}
 | 
						|
    </div>
 | 
						|
</div>
 | 
						|
{% endblock %}
 | 
						|
 | 
						|
{% block scripts %}
 | 
						|
{# <script src="{{ url_for('static', filename='js/announcement-list.js') }}"></script> #}
 | 
						|
{# Assuming announcement-list.js is for interactivity not directly tied to styling #}
 | 
						|
{% endblock %}
 |