Files
property-match/src/components/staff/roomBackdrop.ts
T
Benjamin Sutter 093a958dcf feat(startseite): Giorgio entfernt, Belegschaft auf die fünf Agenten
Auf ausdrücklichen Wunsch: Giorgio entfällt vollständig. Das weicht bewusst
von §6 des Auftrags ab, der ihn als Personalverwalter und Vorgesetzten
vorsah — festgehalten, damit die Abweichung später nachvollziehbar bleibt.

Entfernt: Rollendefinition `AGENT_SUPERVISOR`, sein gezeichnetes Porträt, sein
Eintrag in der Auslastung und in der Belegschaftsansicht sowie die Erwähnung
in der Produkttour. Die Personalverwaltung bleibt unverändert über den
Menüpunkt «Meine Agenten» erreichbar — sie brauchte nie eine eigene Person am
Bildschirm.

Mit Giorgio entfällt auch die einzige Kennzahl, die aus den Freigabevorgängen
kam; `computeAgentWorkload` braucht `agentWorkItems` deshalb nicht mehr.

Ordner und Komponenten heissen jetzt nach ihrem Inhalt: `components/staff/`,
`AgentStaffOverview`, `StaffBackdrop`. «Meetingraum» war seit dem Umbau auf
Personenkarten irreführend, und ein falscher Name kostet den Nächsten mehr
Zeit als die Umbenennung.

Fünf statt sechs Karten heisst Flexlayout statt Dreierraster: drei oben, zwei
mittig darunter, gleich breit und ohne Lücke. Die Karten geben ihre Höhe nicht
mehr selbst vor — mit `height: 100%` beanspruchte jede die volle Fläche und
die zweite Zeile fiel aus dem sichtbaren Bereich.

Geprüft: 433 Tests, Typecheck, Build, ESLint, Token-Schwelle (889/925).
Browser 1280–1920 px und Tablet: fünf Karten vollständig sichtbar, keine
Überlappung, Titel und «Filter & Übersicht» beim Einstieg sichtbar, alle fünf
Klicks auf der richtigen Subpage, «Meine Agenten» weiterhin erreichbar, keine
Konsolenfehler, keine 404.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-06 15:03:18 +02:00

33 lines
1.3 KiB
TypeScript

import buero from '../../assets/staff/buero.jpg'
/**
* Umgebung der Belegschaftsansicht auf der Startseite (Runde 5, §3).
*
* Genau eine Stelle bestimmt, welches Bild hinter den Personenkarten liegt.
* Ein Austausch ist damit ein Einzeiler; die Herkunft steht in `HERKUNFT.md`
* neben der Bilddatei.
*
* Das Bild ist Umgebung, nicht Motiv: es zeigt ein Büro, damit die digitalen
* Mitarbeitenden einen Arbeitsplatz haben statt eines leeren Hintergrunds. Der
* Verlauf darüber nimmt ihm den grössten Teil des Kontrasts — sonst
* konkurriert jeder Bürostuhl mit den Gesichtern und der Schrift davor.
*/
export interface RoomBackdrop {
src: string
/** Bildausschnitt bei `object-fit: cover`. */
focus: string
/** Verlauf über dem Bild: Lesbarkeit und Übergang zur Objektliste darunter. */
scrim: string
}
export const ROOM_BACKDROP: RoomBackdrop = {
src: buero,
focus: '50% 58%',
scrim: [
// Grundton: das Büro tritt weit zurück, die Karten treten hervor.
'linear-gradient(180deg, rgba(9,14,23,0.84) 0%, rgba(9,14,23,0.76) 52%, rgba(9,14,23,0.92) 100%)',
// Warmes Streiflicht von links, damit die Fläche nicht tot wirkt.
'radial-gradient(85% 120% at 10% 6%, rgba(184,151,90,0.18) 0%, rgba(184,151,90,0) 58%)',
].join(', '),
}