ui: WBS dropdown, decimal-room filters, segmented toggle, 'Final absenden'
* Einstellungen → Profil: WBS-Typ jetzt <select> mit WBS 100/140/160/180/220 * Einstellungen → Filter: Zimmer min/max als number-Feld mit step=0.5 (2.5-Zimmer-Wohnungen sauber eingebbar) * Wohnungen-Top-Leiste: Segmented-Toggle (ein zusammenhängender Kippschalter) für die beiden Schalter, keine einzelnen Radio-Pills mehr * Trockenmodus umbenannt in 'Final absenden' (positive Polarität: An=echt senden). Bestätigungsdialog beim Einschalten. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
120d14e918
commit
d9468f6814
4 changed files with 73 additions and 42 deletions
|
|
@ -19,51 +19,68 @@
|
|||
</a>
|
||||
</section>
|
||||
|
||||
<!-- Reihe 2: Schalter Automatisch bewerben + Trockenmodus (Radio-Gruppen) -->
|
||||
<!-- Reihe 2: Schalter Automatisch bewerben + Final absenden -->
|
||||
<section class="grid grid-cols-1 md:grid-cols-2 gap-3">
|
||||
<!-- Automatisch bewerben -->
|
||||
<form class="card p-4"
|
||||
hx-post="/actions/auto-apply"
|
||||
hx-trigger="change"
|
||||
hx-target="#wohnungen-body"
|
||||
hx-swap="outerHTML">
|
||||
<form class="card p-4 flex items-center justify-between gap-3">
|
||||
<input type="hidden" name="csrf" value="{{ csrf }}">
|
||||
<div class="text-[11px] uppercase tracking-wide text-slate-500 mb-2">Automatisch bewerben</div>
|
||||
<div class="flex gap-4">
|
||||
<label class="radio-opt">
|
||||
<div class="flex flex-col gap-0.5">
|
||||
<div class="text-[11px] uppercase tracking-wide text-slate-500">Automatisch bewerben</div>
|
||||
<div class="text-xs text-slate-500">bei Match ohne Nachfrage bewerben</div>
|
||||
</div>
|
||||
<div class="toggle warn">
|
||||
<label>
|
||||
<input type="radio" name="value" value="off"
|
||||
hx-post="/actions/auto-apply"
|
||||
hx-trigger="change"
|
||||
hx-include="closest form"
|
||||
hx-target="#wohnungen-body"
|
||||
hx-swap="outerHTML"
|
||||
{% if not auto_apply_enabled %}checked{% endif %}>
|
||||
<span>Aus</span>
|
||||
Aus
|
||||
</label>
|
||||
<label class="radio-opt"
|
||||
{% if not auto_apply_enabled %}data-hx-confirm="Automatisches Bewerben einschalten? Bei jedem passenden Flat wird automatisch beworben."{% endif %}>
|
||||
<label>
|
||||
<input type="radio" name="value" value="on"
|
||||
hx-post="/actions/auto-apply"
|
||||
hx-trigger="change"
|
||||
hx-include="closest form"
|
||||
hx-target="#wohnungen-body"
|
||||
hx-swap="outerHTML"
|
||||
hx-confirm="Automatisches Bewerben einschalten? Bei jedem passenden Flat wird automatisch beworben."
|
||||
{% if auto_apply_enabled %}checked{% endif %}>
|
||||
<span>An</span>
|
||||
An
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!-- Trockenmodus -->
|
||||
<form class="card p-4"
|
||||
hx-post="/actions/submit-forms"
|
||||
hx-trigger="change"
|
||||
hx-target="#wohnungen-body"
|
||||
hx-swap="outerHTML">
|
||||
<!-- Final absenden (inverse of submit_forms: on=real, off=trocken) -->
|
||||
<form class="card p-4 flex items-center justify-between gap-3">
|
||||
<input type="hidden" name="csrf" value="{{ csrf }}">
|
||||
<div class="text-[11px] uppercase tracking-wide text-slate-500 mb-2">Trockenmodus</div>
|
||||
<div class="flex gap-4">
|
||||
<label class="radio-opt">
|
||||
<input type="radio" name="value" value="on"
|
||||
{% if not submit_forms %}checked{% endif %}>
|
||||
<span>An <span class="text-xs text-slate-500">(Formular ausfüllen, nicht absenden)</span></span>
|
||||
</label>
|
||||
<label class="radio-opt">
|
||||
<div class="flex flex-col gap-0.5">
|
||||
<div class="text-[11px] uppercase tracking-wide text-slate-500">Final absenden</div>
|
||||
<div class="text-xs text-slate-500">aus = Formular ausfüllen, nicht abschicken</div>
|
||||
</div>
|
||||
<div class="toggle warn">
|
||||
<label>
|
||||
<input type="radio" name="value" value="off"
|
||||
hx-confirm="Trockenmodus ausschalten? Formulare werden dann WIRKLICH abgesendet!"
|
||||
hx-post="/actions/submit-forms"
|
||||
hx-trigger="change"
|
||||
hx-include="closest form"
|
||||
hx-target="#wohnungen-body"
|
||||
hx-swap="outerHTML"
|
||||
{% if not submit_forms %}checked{% endif %}>
|
||||
Aus
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="value" value="on"
|
||||
hx-post="/actions/submit-forms"
|
||||
hx-trigger="change"
|
||||
hx-include="closest form"
|
||||
hx-target="#wohnungen-body"
|
||||
hx-swap="outerHTML"
|
||||
hx-confirm="Final absenden einschalten? Formulare werden dann WIRKLICH abgeschickt!"
|
||||
{% if submit_forms %}checked{% endif %}>
|
||||
<span>Aus <span class="text-xs text-[#b8404e]">(echt senden)</span></span>
|
||||
An
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue