style: polish guest form — segmented control, grid layout, consistent inputs
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d06507a7c3
commit
d19fd3802b
@ -4,8 +4,22 @@
|
||||
|
||||
{% block extra_css %}
|
||||
<style>
|
||||
.guest-type-btn { transition: var(--transition); }
|
||||
.guest-type-btn.active { background: var(--primary); color: white; border-color: var(--primary); }
|
||||
.guest-type-btn.active { background: var(--primary) !important; color: white !important; }
|
||||
.guest-type-btn:not(.active):hover { background: var(--border) !important; }
|
||||
|
||||
.guest-form-group { display: flex; flex-direction: column; }
|
||||
.guest-form-label { font-size: 0.8em; font-weight: 500; color: var(--text-secondary); margin-bottom: 4px; }
|
||||
.guest-form-input {
|
||||
width: 100%; padding: 8px 12px;
|
||||
border: 1px solid var(--border); border-radius: var(--radius);
|
||||
font-size: 0.9em; transition: var(--transition);
|
||||
background: var(--background);
|
||||
}
|
||||
.guest-form-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); }
|
||||
|
||||
@media (max-width: 480px) {
|
||||
#guest-form div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
|
||||
}
|
||||
|
||||
.event-header {
|
||||
margin-bottom: var(--spacing-xl);
|
||||
@ -614,47 +628,47 @@
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
<div id="guest-form" style="display: none; margin-top: 12px; padding: 16px; background: var(--surface); border-radius: var(--radius); border: 1px solid var(--border);">
|
||||
<div id="guest-form" style="display: none; margin-top: 12px; padding: 20px; background: var(--surface); border-radius: var(--radius-lg); border: 1px solid var(--border); box-shadow: var(--shadow);">
|
||||
<input type="hidden" id="guest-edit-id" value="">
|
||||
<input type="hidden" id="guest-type" value="external">
|
||||
<div style="display: flex; flex-direction: column; gap: 10px;">
|
||||
|
||||
{% if event.is_paid and current_user.company_id %}
|
||||
<div id="guest-type-selector" style="display: flex; gap: 8px; margin-bottom: 4px;">
|
||||
<button type="button" class="btn btn-outline guest-type-btn active" data-type="member" onclick="selectGuestType('member')" style="font-size: 0.85em; flex: 1;">
|
||||
Osoba z firmy{% if event.price_member %} ({{ "%.0f"|format(event.price_member) }} zł){% endif %}
|
||||
</button>
|
||||
<button type="button" class="btn btn-outline guest-type-btn" data-type="external" onclick="selectGuestType('external')" style="font-size: 0.85em; flex: 1;">
|
||||
Gość spoza Izby{% if event.price_guest %} ({{ "%.0f"|format(event.price_guest) }} zł){% endif %}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id="colleague-picker" style="margin-bottom: 4px;">
|
||||
<label style="font-size: 0.85em; color: var(--text-secondary);">Wybierz osobę z firmy</label>
|
||||
<select id="colleague-select" class="form-control" style="margin-top: 2px;" onchange="onColleagueSelect()">
|
||||
<option value="">— wpisz dane ręcznie —</option>
|
||||
</select>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div>
|
||||
<label for="guest-first-name" style="font-size: 0.85em; color: var(--text-secondary);">Imię</label>
|
||||
<input type="text" id="guest-first-name" maxlength="100" class="form-control" style="margin-top: 2px;">
|
||||
</div>
|
||||
<div>
|
||||
<label for="guest-last-name" style="font-size: 0.85em; color: var(--text-secondary);">Nazwisko</label>
|
||||
<input type="text" id="guest-last-name" maxlength="100" class="form-control" style="margin-top: 2px;">
|
||||
</div>
|
||||
<div>
|
||||
<label for="guest-org" style="font-size: 0.85em; color: var(--text-secondary);">Firma / organizacja</label>
|
||||
<input type="text" id="guest-org" maxlength="255" class="form-control" style="margin-top: 2px;">
|
||||
</div>
|
||||
<div style="display: flex; gap: 8px;">
|
||||
<button id="guest-submit-btn" onclick="submitGuest()" class="btn btn-primary" style="font-size: 0.9em;">Dodaj</button>
|
||||
<button onclick="cancelGuestForm()" class="btn btn-outline" style="font-size: 0.9em;">Anuluj</button>
|
||||
</div>
|
||||
<p id="guest-form-error" style="display: none; color: var(--error); font-size: 0.85em; margin: 0;"></p>
|
||||
{% if event.is_paid and current_user.company_id %}
|
||||
<div id="guest-type-selector" style="display: flex; gap: 0; margin-bottom: 16px; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border);">
|
||||
<button type="button" class="guest-type-btn active" data-type="member" onclick="selectGuestType('member')" style="flex: 1; padding: 10px 16px; border: none; cursor: pointer; font-size: 0.85em; font-weight: 600; transition: var(--transition); background: var(--primary); color: white;">
|
||||
Osoba z firmy{% if event.price_member %} ({{ "%.0f"|format(event.price_member) }} zł){% endif %}
|
||||
</button>
|
||||
<button type="button" class="guest-type-btn" data-type="external" onclick="selectGuestType('external')" style="flex: 1; padding: 10px 16px; border: none; border-left: 1px solid var(--border); cursor: pointer; font-size: 0.85em; font-weight: 600; transition: var(--transition); background: var(--background); color: var(--text-secondary);">
|
||||
Gość spoza Izby{% if event.price_guest %} ({{ "%.0f"|format(event.price_guest) }} zł){% endif %}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id="colleague-picker" class="guest-form-group" style="margin-bottom: 12px;">
|
||||
<label for="colleague-select" class="guest-form-label">Wybierz osobę z firmy</label>
|
||||
<select id="colleague-select" class="form-control guest-form-input" onchange="onColleagueSelect()">
|
||||
<option value="">— wpisz dane ręcznie —</option>
|
||||
</select>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px;">
|
||||
<div class="guest-form-group">
|
||||
<label for="guest-first-name" class="guest-form-label">Imię</label>
|
||||
<input type="text" id="guest-first-name" maxlength="100" class="form-control guest-form-input" placeholder="np. Jan">
|
||||
</div>
|
||||
<div class="guest-form-group">
|
||||
<label for="guest-last-name" class="guest-form-label">Nazwisko</label>
|
||||
<input type="text" id="guest-last-name" maxlength="100" class="form-control guest-form-input" placeholder="np. Kowalski">
|
||||
</div>
|
||||
</div>
|
||||
<div class="guest-form-group" style="margin-top: 12px;">
|
||||
<label for="guest-org" class="guest-form-label">Firma / organizacja</label>
|
||||
<input type="text" id="guest-org" maxlength="255" class="form-control guest-form-input" placeholder="np. Nazwa firmy Sp. z o.o.">
|
||||
</div>
|
||||
<div style="display: flex; gap: 8px; margin-top: 16px;">
|
||||
<button id="guest-submit-btn" onclick="submitGuest()" class="btn btn-primary" style="font-size: 0.9em;">Dodaj osobę</button>
|
||||
<button onclick="cancelGuestForm()" class="btn btn-outline" style="font-size: 0.9em;">Anuluj</button>
|
||||
</div>
|
||||
<p id="guest-form-error" style="display: none; color: var(--error); font-size: 0.85em; margin: 8px 0 0;"></p>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user