feat(#146): Fraktionen je Treffer in Landtag-Suche anzeigen
Adapter liefert fraktionen schon mit, das Frontend ignorierte sie bisher. Treffer-Zeile bekommt jetzt unter dem Titel kleine Teal-Chips fuer jede einreichende Fraktion (Beispiel: 'CDU SPD' bei kollektiven Antraegen). Stylistisch konsistent zum Score-Chip-System (color-mix mit ecg-teal), mono Font, uppercase 10px — bleibt auch bei vielen Fraktionen lesbar. Closes #146
This commit is contained in:
parent
09c29cac69
commit
5f6bcac282
@ -78,12 +78,18 @@
|
||||
min-width: 100px;
|
||||
padding-top: 2px;
|
||||
}
|
||||
.ls-main {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
min-width: 0;
|
||||
}
|
||||
.ls-title {
|
||||
font-family: var(--font-display);
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: var(--ecg-dark);
|
||||
flex: 1;
|
||||
line-height: 1.35;
|
||||
}
|
||||
.ls-title a {
|
||||
@ -91,6 +97,24 @@
|
||||
text-decoration: none;
|
||||
}
|
||||
.ls-title a:hover { text-decoration: underline; }
|
||||
.ls-fraktionen {
|
||||
display: flex;
|
||||
gap: 6px;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.ls-fraktion {
|
||||
display: inline-block;
|
||||
padding: 1px 7px;
|
||||
background: color-mix(in srgb, var(--ecg-teal) 10%, transparent);
|
||||
color: var(--ecg-teal);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 10px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.04em;
|
||||
border-radius: 3px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.ls-actions { flex-shrink: 0; }
|
||||
.ls-btn-analyse {
|
||||
font-family: var(--font-mono);
|
||||
@ -246,13 +270,22 @@ async function lsSearch(e) {
|
||||
function renderRow(item, bl) {
|
||||
var ds = item.drucksache || '';
|
||||
var title = escHtml(item.title || item.titel || ds);
|
||||
var url = item.url || '';
|
||||
var url = item.url || item.link || '';
|
||||
var done = lsCheckedIds.has(ds);
|
||||
var fraktionen = Array.isArray(item.fraktionen) ? item.fraktionen : [];
|
||||
|
||||
var titleHtml = url
|
||||
? '<a href="' + escHtml(url) + '" target="_blank" rel="noopener">' + title + '</a>'
|
||||
: title;
|
||||
|
||||
var fraktionenHtml = fraktionen.length
|
||||
? '<div class="ls-fraktionen">'
|
||||
+ fraktionen.map(function (f) {
|
||||
return '<span class="ls-fraktion">' + escHtml(f) + '</span>';
|
||||
}).join('')
|
||||
+ '</div>'
|
||||
: '';
|
||||
|
||||
var actionHtml;
|
||||
if (done) {
|
||||
actionHtml = '<span class="ls-badge-done">Bewertet → <a href="/antrag/' + encodeURIComponent(ds) + '" style="color:inherit;">Ansehen</a></span>';
|
||||
@ -264,7 +297,10 @@ function renderRow(item, bl) {
|
||||
|
||||
return '<div class="ls-row">'
|
||||
+ '<div class="ls-drucksache">' + escHtml(ds) + '</div>'
|
||||
+ '<div class="ls-main">'
|
||||
+ '<div class="ls-title">' + titleHtml + '</div>'
|
||||
+ fraktionenHtml
|
||||
+ '</div>'
|
||||
+ '<div class="ls-actions">' + actionHtml + '</div>'
|
||||
+ '</div>';
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user