Dashboard-Reihenfolge, Drei-Punkte-Menü, Mehrrollen-Kürzel, Login-Rechte

- Meine Aufgaben: Projekte in der Reihenfolge der Projektliste, je Konto
  per Ziehen umsortierbar (users.dashboard_reihenfolge)
- Projektliste: Öffnen/Löschen hinter einem "⋯"-Menü
- Avatare je Person statt je Rolle; mehrere Rollen als senkrechte
  Farbstreifen; Titelleiste zieht Rollenänderungen sofort nach
- Nach dem Anmelden vollständiges Konto über /whoami laden (Seitenleiste
  zeigte sonst erst nach Neuladen alle Einträge)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
erikandClaude Opus 5.5 committed 2026-10-29 15:21:29 +01:00
1 parent b7e0bd0d92
commit a2266662ad
11 files changed
+358 -36

No files matched your search

+23 -4
View File
@@ -1210,6 +1210,14 @@ The split follows what kind of data it is:
### Eine Projektliste (tab `board`, labelled "Projekte")
- **Avatar-Stapel je Person, nicht je Rolle** (Projektliste und Titelzeile
des Projektbereichs, Eriks Wunsch): `beteiligteJePerson()` (`js/utils.js`)
fasst die Rollen einer Person zusammen; `beteiligtenAvatarHtml()` zeichnet
bei mehreren Rollen einen Kreis aus senkrechten Streifen in den
Rollenfarben (`linear-gradient(to right …)`, `ROLLEN_FARBE`, immer volle
Farbe — Haupt/Unterstützung nur im Tooltip,
`.board-avatar.ist-mehrfach`), der Tooltip nennt alle Rollen.
The former `Projekte` tab is gone; `renderBoard()` is the single project list.
It kept everything that concerns the LIST and gave up everything that concerns
a single project's data:
@@ -1226,9 +1234,12 @@ a single project's data:
- All four groups from `GROUP_ORDER` are pre-seeded even when empty, so a group
emptied by dragging stays a drop target (a bug already fixed once in the old
Projekte tab).
- `.board-row-actions` at the end of each row: "Öffnen" (Projektbereich) and
"Löschen" (`delProjectFromList()`), hidden until hover/focus so the list
stays calm. "+ Projekt" sits in the list's title row now (it was only in the
- `.board-row-actions` at the end of each row: a "⋯" button
(`oeffneProjektMenue()` in `board.js`, Eriks Wunsch; same `.user-kebab`/
`.user-menu` styling as the Benutzerverwaltung) with "Öffnen"
(Projektbereich) and "Löschen" — the latter confirms inside the menu and
then calls `delProjectFromList(id, true)` without `confirm()`. Hidden until
hover/focus so the list stays calm. "+ Projekt" sits in the list's title row now (it was only in the
sidebar before); the sidebar entry stays and opens the same mask.
- `js/projects/projects.js` no longer renders anything by default:
`renderProjects()` returns immediately unless `#projectsList` exists. Every
@@ -3540,7 +3551,15 @@ Zuständigen, Meilensteine eine Raute (`--meilenstein`, eigenes Token). **Jeder
Block ist einklappbar** (`dashProjUmschalten()`, „Alle einklappen/aufklappen“
in der Abschnittsüberschrift); eingeklappt zeigt der Kopf „N überfällig / N
offen“. Der Zustand liegt je `projectUid` in `localStorage`
(`projuebersicht-dash-zu`) — reiner UI-Zustand. **Rechts ein Monatskalender**
(`projuebersicht-dash-zu`) — reiner UI-Zustand. **Reihenfolge der Projekte** (Eriks Wunsch): wie in der Projektliste
(`GROUP_ORDER`, dann `p.order`; `dashSortieren()`), nicht mehr nach dem
dringendsten Termin. Jedes Konto kann sie am Griff vorn im Projektkopf
umziehen (oder Griff fokussieren + Pfeiltasten); gespeichert je Konto am
Server (`users.dashboard_reihenfolge`, JSON-Liste von `projectUid`s,
Migration in `migrateUsersDepartment()`, `POST /dashboard-reihenfolge`,
geliefert als `req.user.dashboardReihenfolge` über `/whoami`). Projekte, die
darin fehlen, folgen dahinter in Listenreihenfolge; „Wie Projektliste“ setzt
zurück. **Rechts ein Monatskalender**
(`renderDashKalender()`, KW-Spalte, Feiertage aus `HOLIDAYS`, Punkte für
eigene Aufgabe / Projektaufgabe / Meilenstein / überfällig / Abwesenheit, Klick
auf einen Tag listet ihn), darunter Freigaben und Abwesenheiten.