Quelltext des aktuellen Standes
/* Notizbrett – nur die Bestandteile, die es sonst nirgends gibt.
Karten, Filterleiste, Schaltflächen und Eingaben kommen aus app.css;
die Notiz übernimmt deren Rahmen, Radius und Flächen. */
/* Schreibfeld über dem Verlauf */
/* Ein Schreibfeld braucht keinen eigenen Kartenkopf; der Platzhalter sagt,
worum es geht. Die Karte bleibt dadurch so hoch wie ihr Inhalt. */
.tb-compose .detail-card-body { padding: 0.875rem 1.25rem; }
.tb-compose textarea {
min-height: 4.5rem;
resize: vertical;
}
.tb-compose-footer {
margin-top: 0.625rem;
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--spacing-md);
flex-wrap: wrap;
}
.tb-counter {
font-size: 0.8rem;
color: var(--color-text-muted);
}
/* Verlauf */
.tb-feed {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
/* Maße und Flächen folgen .detail-card, damit die Notiz neben den
übrigen Karten der Anwendung nicht aus dem Rahmen fällt. */
.tb-note {
display: flex;
gap: 0.875rem;
padding: 0.875rem 1.25rem;
background: var(--color-bg);
border: 1px solid var(--color-border, var(--gray-200));
border-left: 3px solid var(--tb-color, var(--gray-400));
border-radius: 0.25rem;
}
/* Namenskürzel in der Farbe der Person */
.tb-avatar {
flex: 0 0 auto;
width: 2rem;
height: 2rem;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.02em;
color: var(--tb-color, var(--gray-700));
background: var(--tb-soft, var(--gray-100));
}
.tb-main { flex: 1 1 auto; min-width: 0; }
.tb-head {
display: flex;
align-items: baseline;
gap: var(--spacing-sm);
flex-wrap: wrap;
margin-bottom: 0.125rem;
}
.tb-author {
font-weight: 600;
color: var(--tb-color, var(--color-text));
}
.tb-time,
.tb-edited {
font-size: 0.8rem;
color: var(--color-text-muted);
}
/* Der Text behält die Zeilenumbrüche der Eingabe und bricht lange
Zeichenketten um, statt die Karte zu verbreitern. */
.tb-body {
white-space: pre-wrap;
overflow-wrap: anywhere;
line-height: 1.5;
color: var(--color-text);
}
/* Die Schaltflächen tragen nur ihr Symbol; der Name steht als Titel und für
Hilfsmittel daran. Ein Notizbrett lebt vom Text, nicht von seinen Knöpfen. */
.tb-actions {
display: flex;
gap: var(--spacing-xs);
margin-top: var(--spacing-sm);
}
/* Nur die Ausrichtung des Symbols; Flächen und Farben liefern die
Schaltflächen-Klassen aus app.css, damit beide Themes stimmen. */
.tb-action { line-height: 1; }
.tb-edit-form { margin-top: var(--spacing-sm); }
.tb-edit-form textarea { min-height: 5rem; resize: vertical; }
/* Auf schmalen Anzeigen rutscht das Kürzel über den Text. */
@media (max-width: 575.98px) {
.tb-note { flex-direction: column; gap: var(--spacing-sm); }
}
/* Dashboard-Widget: dieselbe Farbführung, nur kompakter */
.tb-mini {
display: flex;
flex-direction: column;
gap: var(--spacing-sm);
}
.tb-mini-item {
border-left: 3px solid var(--tb-color, var(--gray-400));
padding-left: var(--spacing-sm);
}
.tb-mini-head {
display: flex;
gap: var(--spacing-xs);
align-items: baseline;
font-size: 0.8rem;
}
.tb-mini-author { font-weight: 600; color: var(--tb-color, var(--color-text)); }
.tb-mini-time { color: var(--color-text-muted); }
.tb-mini-body {
font-size: 0.85rem;
color: var(--color-text);
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
line-clamp: 2;
overflow: hidden;
}