Schließt #16 (UI: zwei klar getrennte Suchen) und ergänzt den Header um den Link auf das neue Auswertungen-Dashboard aus Phase C. - Search-Row in `index.html` aufgespalten in zwei untereinanderliegende Inputs: oben "Suche in geprüften Anträgen (DB)" mit Live-Debouncing (wie bisher), unten "Im Landtag suchen (live)" mit Enter-Trigger und expliziter Such-Button. Beide Felder schreiben in dieselbe Liste, sind aber visuell und semantisch klar getrennt. - `searchLandtag()` zieht jetzt aus `landtag-search-input` statt aus dem DB-Suchfeld - `changeBundesland()` resettet zusätzlich das Landtag-Feld - Header: neuer `📈 Auswertungen`-Link neben `📚 Quellen` Refs: #16, #59 (Phase D) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
3631e5418c
commit
26f13bd29d
@ -700,6 +700,7 @@
|
||||
<button class="mode-btn" onclick="showMode('tags')">🏷️ Tags</button>
|
||||
<button class="mode-btn" onclick="showMode('upload')">📤 Prüfen</button>
|
||||
<a href="/quellen" class="mode-btn" style="text-decoration: none;">📚 Quellen</a>
|
||||
<a href="/auswertungen" class="mode-btn" style="text-decoration: none;">📈 Auswertungen</a>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@ -707,9 +708,28 @@
|
||||
<!-- Left: List -->
|
||||
<aside class="list-panel">
|
||||
<div class="list-header">
|
||||
<div class="search-row">
|
||||
<input type="text" class="search-box" id="search-input" placeholder="Suche in geprüften Anträgen..." oninput="debounceSearch(this.value)">
|
||||
<button class="btn-landtag" id="btn-landtag" onclick="searchLandtag()">🔍 Im Landtag</button>
|
||||
<!--
|
||||
#16: zwei klar getrennte Suchfelder. Das erste filtert
|
||||
in der DB der bereits geprüften Anträge (Live, debounced).
|
||||
Das zweite triggert per Enter oder Button eine Live-
|
||||
Anfrage gegen den Landtag-Adapter. Beide schreiben in
|
||||
dieselbe Liste, unterscheiden sich aber visuell und
|
||||
semantisch klar.
|
||||
-->
|
||||
<div class="search-row" style="flex-direction: column; gap: 0.4rem;">
|
||||
<div style="display: flex; gap: 0.4rem; width: 100%;">
|
||||
<input type="text" class="search-box" id="search-input"
|
||||
placeholder="📊 Suche in geprüften Anträgen (DB)…"
|
||||
oninput="debounceSearch(this.value)"
|
||||
style="flex: 1;">
|
||||
</div>
|
||||
<div style="display: flex; gap: 0.4rem; width: 100%;">
|
||||
<input type="text" class="search-box" id="landtag-search-input"
|
||||
placeholder="🏛️ Im Landtag suchen (live)…"
|
||||
onkeydown="if(event.key==='Enter')searchLandtag()"
|
||||
style="flex: 1;">
|
||||
<button class="btn-landtag" id="btn-landtag" onclick="searchLandtag()">🔍 Suchen</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-filters">
|
||||
<button class="filter-btn active" data-filter="all" onclick="setScoreFilter('all', this)">Alle</button>
|
||||
@ -1226,6 +1246,8 @@
|
||||
currentParteiFilter = '';
|
||||
selectedTags.clear();
|
||||
document.getElementById('search-input').value = '';
|
||||
const landtagInput = document.getElementById('landtag-search-input');
|
||||
if (landtagInput) landtagInput.value = '';
|
||||
document.querySelectorAll('.filter-btn').forEach(b => {
|
||||
b.classList.toggle('active', b.dataset.filter === 'all');
|
||||
});
|
||||
@ -1265,9 +1287,11 @@
|
||||
alert('Landtag-Suche ist nur mit Auswahl eines konkreten Bundeslands möglich.\nBitte oben ein Bundesland auswählen.');
|
||||
return;
|
||||
}
|
||||
const query = document.getElementById('search-input').value.trim();
|
||||
// #16: Landtag-Suche zieht aus dem dedizierten Landtag-Input,
|
||||
// nicht mehr aus dem DB-Suchfeld.
|
||||
const query = document.getElementById('landtag-search-input').value.trim();
|
||||
if (query.length < 2) {
|
||||
alert('Bitte mindestens 2 Zeichen eingeben');
|
||||
alert('Bitte mindestens 2 Zeichen ins Landtag-Suchfeld eingeben');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user