86 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends 'base.html' %}
 | 
						|
{% block title %}Dodaj wpłatę{% endblock %}
 | 
						|
 | 
						|
{% block content %}
 | 
						|
<div class="container my-4">
 | 
						|
 | 
						|
  <div class="d-flex align-items-center gap-2 mb-3">
 | 
						|
    <a href="{{ url_for('zbiorka', zbiorka_id=zbiorka.id) }}" class="btn btn-sm btn-outline-light border">← Powrót do
 | 
						|
      zbiórki</a>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <div class="card shadow-sm">
 | 
						|
    <div class="card-header bg-secondary text-white d-flex flex-wrap align-items-center justify-content-between gap-2">
 | 
						|
      <h3 class="card-title mb-0">Dodaj wpłatę: <span class="fw-semibold">{{ zbiorka.nazwa }}</span></h3>
 | 
						|
      <div class="d-flex align-items-center gap-2">
 | 
						|
        {% if zbiorka.cel %}
 | 
						|
        <span class="badge bg-dark border" style="border-color: var(--border);">Cel: {{ zbiorka.cel|round(2) }}
 | 
						|
          PLN</span>
 | 
						|
        {% endif %}
 | 
						|
        <span class="badge bg-dark border" style="border-color: var(--border);">Stan: {{ zbiorka.stan|round(2) }}
 | 
						|
          PLN</span>
 | 
						|
      </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    {% set progress = (zbiorka.stan / zbiorka.cel * 100) if zbiorka.cel and zbiorka.cel > 0 else 0 %}
 | 
						|
 | 
						|
    {% set progress_clamped = 100 if progress > 100 else (0 if progress < 0 else progress) %} <div class="px-3 pt-3">
 | 
						|
      <div class="progress" role="progressbar" aria-valuenow="{{ progress_clamped|round(2) }}" aria-valuemin="0"
 | 
						|
        aria-valuemax="100" aria-label="Postęp zbiórki {{ progress_clamped|round(0) }} procent">
 | 
						|
        <div class="progress-bar" style="width: {{ progress_clamped }}%;"></div>
 | 
						|
      </div>
 | 
						|
      <small class="text-muted d-block mt-1 mb-2">{{ progress|round(1) }}%</small>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <div class="card-body pt-0">
 | 
						|
    <form method="post" novalidate>
 | 
						|
 | 
						|
      <div class="mb-3">
 | 
						|
        <label for="kwota" class="form-label">Kwota wpłaty</label>
 | 
						|
        <div class="input-group">
 | 
						|
          <span class="input-group-text">PLN</span>
 | 
						|
          <input type="number" step="0.01" min="0.01" inputmode="decimal" class="form-control" id="kwota" name="kwota"
 | 
						|
            placeholder="0,00" required aria-describedby="kwotaHelp">
 | 
						|
        </div>
 | 
						|
        <div id="kwotaHelp" class="form-text">Podaj kwotę w złotówkach (min. 0,01).</div>
 | 
						|
 | 
						|
        <div class="d-flex flex-wrap gap-2 mt-2">
 | 
						|
          {% for preset in [10,25,50,100,200] %}
 | 
						|
          <button type="button" class="btn btn-sm btn-outline-light border btn-kwota" data-amount="{{ preset }}">
 | 
						|
            {{ preset }} PLN
 | 
						|
          </button>
 | 
						|
          {% endfor %}
 | 
						|
          {% if zbiorka.cel and zbiorka.cel > 0 %}
 | 
						|
          {% set brakujace = (zbiorka.cel - zbiorka.stan) if (zbiorka.cel - zbiorka.stan) > 0 else 0 %}
 | 
						|
          <button type="button" class="btn btn-sm btn-outline-light border btn-kwota"
 | 
						|
            data-amount="{{ brakujace|round(2) }}">
 | 
						|
            Do celu: {{ brakujace|round(2) }} PLN
 | 
						|
          </button>
 | 
						|
          {% endif %}
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
 | 
						|
      <div class="mb-3">
 | 
						|
        <label for="opis" class="form-label">Opis (opcjonalnie)</label>
 | 
						|
        <textarea class="form-control" id="opis" name="opis" rows="3" maxlength="300"
 | 
						|
          aria-describedby="opisHelp"></textarea>
 | 
						|
        <div class="d-flex justify-content-between">
 | 
						|
          <small id="opisHelp" class="form-text text-muted">Krótka notatka do wpłaty (widoczna w systemie).</small>
 | 
						|
          <small class="text-muted"><span id="opisCount">0</span>/300</small>
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
 | 
						|
      <div class="d-flex flex-wrap gap-2">
 | 
						|
        <button type="submit" class="btn btn-success">Dodaj wpłatę</button>
 | 
						|
        <a href="{{ url_for('zbiorka', zbiorka_id=zbiorka.id) }}" class="btn btn-outline-light border">Anuluj</a>
 | 
						|
      </div>
 | 
						|
    </form>
 | 
						|
  </div>
 | 
						|
</div>
 | 
						|
</div>
 | 
						|
 | 
						|
{% endblock %}
 | 
						|
{% block extra_scripts %}
 | 
						|
{{ super() }}
 | 
						|
<script src="{{ url_for('static', filename='js/dodaj_wplate.js') }}"></script>
 | 
						|
{% endblock %} |