100 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends 'base.html' %}
 | 
						|
{% block title %}{% if request.path == url_for('zbiorki_zrealizowane') %}Zrealizowane zbiórki{% else %}Aktualnie aktywne
 | 
						|
zbiórki{% endif %}{% endblock %}
 | 
						|
 | 
						|
{% block content %}
 | 
						|
{# Ustal kontekst listy #}
 | 
						|
{% set is_completed_view = (request.path == url_for('zbiorki_zrealizowane')) %}
 | 
						|
 | 
						|
<div class="d-flex flex-wrap align-items-center justify-content-between gap-2 mb-4">
 | 
						|
    <h2 class="mb-0">
 | 
						|
        {% if is_completed_view %}Zrealizowane zbiórki{% else %}Aktualnie aktywne zbiórki{% endif %}
 | 
						|
    </h2>
 | 
						|
    <ul class="nav nav-pills">
 | 
						|
        <li class="nav-item">
 | 
						|
            <a class="nav-link {% if not is_completed_view %}active{% endif %}"
 | 
						|
                href="{{ url_for('index') }}">Aktywne</a>
 | 
						|
        </li>
 | 
						|
        <li class="nav-item">
 | 
						|
            <a class="nav-link {% if is_completed_view %}active{% endif %}"
 | 
						|
                href="{{ url_for('zbiorki_zrealizowane') }}">Zrealizowane</a>
 | 
						|
        </li>
 | 
						|
    </ul>
 | 
						|
</div>
 | 
						|
 | 
						|
{% if zbiorki and zbiorki|length > 0 %}
 | 
						|
<div class="row g-4">
 | 
						|
    {% for z in zbiorki %}
 | 
						|
    {% set progress = (z.stan / z.cel * 100) if z.cel > 0 else 0 %}
 | 
						|
    {% set progress_clamped = 100 if progress > 100 else (0 if progress < 0 else progress) %} <div
 | 
						|
        class="col-sm-12 col-md-6 col-lg-4">
 | 
						|
        <div class="card h-100 position-relative">
 | 
						|
            <div class="card-body d-flex flex-column">
 | 
						|
                <div class="d-flex align-items-start justify-content-between gap-2 mb-2">
 | 
						|
                    <h5 class="card-title mb-0">{{ z.nazwa }}</h5>
 | 
						|
 | 
						|
                    {# Spójny badge zrealizowania: w zakładce „Zrealizowane” lub gdy >=100% #}
 | 
						|
                    {% if is_completed_view or progress_clamped >= 100 %}
 | 
						|
                    <span class="badge rounded-pill" style="background: var(--accent); color:#111;">Zrealizowana</span>
 | 
						|
                    {% endif %}
 | 
						|
                </div>
 | 
						|
 | 
						|
                <div class="mb-2 d-flex flex-wrap gap-2">
 | 
						|
                    {% if not z.ukryj_kwote %}
 | 
						|
                    {% if z.cel > 0 %}
 | 
						|
                    <span class="badge bg-dark border" style="border-color: var(--border);">
 | 
						|
                        Cel: {{ z.cel|round(2) }} PLN
 | 
						|
                    </span>
 | 
						|
                    {% endif %}
 | 
						|
                    <span class="badge bg-dark border" style="border-color: var(--border);">
 | 
						|
                        Stan: {{ z.stan|round(2) }} PLN
 | 
						|
                    </span>
 | 
						|
                    {% else %}
 | 
						|
                    <span class="badge bg-secondary">Kwoty ukryte</span>
 | 
						|
                    {% endif %}
 | 
						|
                </div>
 | 
						|
 | 
						|
                <div class="mb-1">
 | 
						|
                    <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100"
 | 
						|
                        aria-valuenow="{{ progress_clamped|round(2) if not z.ukryj_kwote else '' }}"
 | 
						|
                        aria-label="{% if z.ukryj_kwote %}Postęp ukryty{% else %}Postęp zbiórki {{ progress_clamped|round(0) }} procent{% endif %}">
 | 
						|
                        <div class="progress-bar" style="width: {{ progress_clamped }}%;"></div>
 | 
						|
                    </div>
 | 
						|
 | 
						|
                    {% if not z.ukryj_kwote %}
 | 
						|
                    <small class="text-muted">{{ progress_clamped|round(1) }}%</small>
 | 
						|
                    {% else %}
 | 
						|
                    <small class="text-muted">Postęp ukryty</small>
 | 
						|
                    {% endif %}
 | 
						|
                </div>
 | 
						|
 | 
						|
 | 
						|
                <div class="mt-auto pt-2">
 | 
						|
                    <a href="{{ url_for('zbiorka', zbiorka_id=z.id) }}" class="stretched-link"></a>
 | 
						|
                    <a href="{{ url_for('zbiorka', zbiorka_id=z.id) }}" class="btn btn-primary btn-sm">Szczegóły</a>
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
</div>
 | 
						|
{% endfor %}
 | 
						|
</div>
 | 
						|
{% else %}
 | 
						|
<div class="card">
 | 
						|
    <div class="card-body text-center py-5">
 | 
						|
        {% if is_completed_view %}
 | 
						|
        <h5 class="mb-2">Brak zrealizowanych zbiórek</h5>
 | 
						|
        <p class="text-muted mb-4">Gdy jakaś zbiórka osiągnie 100%, pojawi się tutaj.</p>
 | 
						|
        <a href="{{ url_for('index') }}" class="btn btn-primary">Zobacz aktywne</a>
 | 
						|
        {% else %}
 | 
						|
        <h5 class="mb-2">Brak aktywnych zbiórek</h5>
 | 
						|
        <p class="text-muted mb-4">Wygląda na to, że teraz nic nie zbieramy.</p>
 | 
						|
        {% if current_user.is_authenticated and current_user.is_admin %}
 | 
						|
        <a href="{{ url_for('admin_dashboard') }}" class="btn btn-primary">Utwórz nową zbiórkę</a>
 | 
						|
        {% else %}
 | 
						|
        <a href="{{ url_for('zbiorki_zrealizowane') }}" class="btn btn-primary">Zobacz zrealizowane</a>
 | 
						|
        {% endif %}
 | 
						|
        {% endif %}
 | 
						|
    </div>
 | 
						|
</div>
 | 
						|
{% endif %}
 | 
						|
{% endblock %} |