feat: Gespiegelte Belegung in der Wochenansicht zeigen
Sie zaehlt gegen die Tageskapazitaet wie jeder fremde Termin, traegt aber keinen Betreff und ist gestreift gezeichnet — damit niemand darin einen Termin vermutet, dem der Titel fehlt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
1281c3ea96
commit
0d0f8503cc
@@ -187,6 +187,7 @@ export default async function WocheSeite({
|
||||
ganztaegig: t.ganztaegig,
|
||||
frei: t.zeigtAls === 'FREI',
|
||||
kalenderName: t.kalenderName,
|
||||
gespiegelt: t.gespiegelt,
|
||||
}))}
|
||||
aufgaben={aufgaben.map((a) => ({
|
||||
id: a.id,
|
||||
|
||||
@@ -64,6 +64,8 @@ export type RasterTermin = {
|
||||
ganztaegig: boolean
|
||||
frei: boolean
|
||||
kalenderName: string
|
||||
/** Aus der anderen Instanz gespiegelt: belegt, aber ohne Betreff. */
|
||||
gespiegelt?: boolean
|
||||
}
|
||||
|
||||
export type RasterSpalte = {
|
||||
@@ -321,6 +323,11 @@ export function Wochenraster({
|
||||
eintrag.frei
|
||||
? 'bg-gedaempft/60 text-gedaempft-vordergrund'
|
||||
: 'bg-gedaempft text-gedaempft-vordergrund',
|
||||
// Gespiegeltes gehört sichtbar in eine eigene
|
||||
// Klasse: gestreift, damit niemand darin einen
|
||||
// Termin mit fehlendem Betreff vermutet.
|
||||
eintrag.gespiegelt &&
|
||||
'border-rand border border-dashed bg-[repeating-linear-gradient(45deg,transparent,transparent_4px,color-mix(in_oklch,currentColor_12%,transparent)_4px,color-mix(in_oklch,currentColor_12%,transparent)_8px)]',
|
||||
)}
|
||||
style={{
|
||||
top: lage.oben,
|
||||
@@ -328,10 +335,16 @@ export function Wochenraster({
|
||||
left: `${(spur / spuren) * 100}%`,
|
||||
width: `${100 / spuren}%`,
|
||||
}}
|
||||
title={`${eintrag.betreff ?? 'Termin'} · ${eintrag.kalenderName}`}
|
||||
title={
|
||||
eintrag.gespiegelt
|
||||
? 'Dienstlich belegt – gespiegelt aus der anderen Instanz'
|
||||
: `${eintrag.betreff ?? 'Termin'} · ${eintrag.kalenderName}`
|
||||
}
|
||||
>
|
||||
<span className="line-clamp-2">
|
||||
{eintrag.betreff ?? 'Termin'}
|
||||
{eintrag.gespiegelt
|
||||
? 'Dienstlich belegt'
|
||||
: (eintrag.betreff ?? 'Termin')}
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user