Web-Frontend: Umbau Spokes/Hub, Kontakt-Widget (contact-launcher)

Startseiten/Feeds/Kategorie/Rechtsseiten ueberarbeitet, Kontakt-Modal durch
schwebendes contact-launcher-Widget ersetzt, legal-language-notice ergaenzt;
Platzhalter-SVGs + Theme-CSS angepasst.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-09 15:45:58 +00:00
parent fd8e050cb7
commit d1939f6f2a
39 changed files with 1110 additions and 810 deletions

View file

@ -1478,6 +1478,60 @@
margin-top: 1px;
}
/* Fehler-Zusammenfassung (bleibt bei den Speichern-Buttons stehen,
Einträge scrollen per Klick zum betroffenen Panel) */
.pr-error-summary {
background: var(--color-err-soft);
border: 1px solid color-mix(in srgb, var(--color-err) 45%, transparent);
border-radius: 4px;
padding: 12px 14px;
margin-bottom: 14px;
}
.pr-error-summary .head {
display: flex;
align-items: center;
gap: 7px;
font-size: 12.5px;
font-weight: 600;
color: var(--color-err);
}
.pr-error-summary ul {
list-style: none;
margin: 8px 0 0;
padding: 0;
display: grid;
gap: 5px;
}
.pr-error-summary li button {
display: block;
width: 100%;
text-align: left;
font-size: 12px;
line-height: 1.45;
color: var(--color-err);
background: transparent;
border: 0;
padding: 0;
cursor: pointer;
text-decoration: underline;
text-decoration-style: dotted;
text-underline-offset: 3px;
}
.pr-error-summary li button:hover {
text-decoration-style: solid;
}
/* Panel mit Validierungsfehler — macht z.B. die Pflicht-Kategorie in
der Sidebar unübersehbar */
.panel.is-invalid {
border-color: var(--color-err);
box-shadow: 0 0 0 1px var(--color-err) inset;
}
.panel.is-invalid > .panel-head {
border-bottom-color: color-mix(in srgb, var(--color-err) 35%, transparent);
background: var(--color-err-soft);
}
/* Boilerplate-Box (Read-only Firmenprofil) */
.pr-boiler {
background: var(--color-bg-elev);

View file

@ -227,6 +227,10 @@
animation: bp-ticker-marquee var(--bp-ticker-duration, 42s) linear infinite;
will-change: transform;
}
/* Anklickbare Meldungen: Lauf anhalten, solange die Maus darüber steht */
.ticker-marquee-track:hover {
animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
.ticker-marquee-track {
animation: none;

View file

@ -232,6 +232,10 @@
animation: bp-ticker-marquee var(--bp-ticker-duration, 42s) linear infinite;
will-change: transform;
}
/* Anklickbare Meldungen: Lauf anhalten, solange die Maus darüber steht */
.ticker-marquee-track:hover {
animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
.ticker-marquee-track {
animation: none;