diff --git a/client/src/components/Vacay/VacayMonthCard.tsx b/client/src/components/Vacay/VacayMonthCard.tsx index 0e8415f8a..1cc14f0df 100644 --- a/client/src/components/Vacay/VacayMonthCard.tsx +++ b/client/src/components/Vacay/VacayMonthCard.tsx @@ -147,6 +147,13 @@ export default function VacayMonthCard({ if (hasEntries) numColor = '#fff' else if (publicHoliday) numColor = publicHoliday.color else if (weekend) numColor = 'var(--vg-ink3)' + // An all-comp cell is hatched, so the card surface shows through between + // the stripes and would swallow the white digit. A shadow carries the + // contrast instead, which keeps every logged day's number white (#1074). + // A mixed day still has a solid segment under the number and needs none. + const numShadow = hasEntries && dayEntries.every(e => e.kind === 'comp') + ? '0 1px 2px rgba(0,0,0,0.85), 0 0 3px rgba(0,0,0,0.5)' + : undefined return (
{day} diff --git a/client/src/mobile/screens/vacay/MVacayMonth.tsx b/client/src/mobile/screens/vacay/MVacayMonth.tsx index d33c25e48..523ddf0f1 100644 --- a/client/src/mobile/screens/vacay/MVacayMonth.tsx +++ b/client/src/mobile/screens/vacay/MVacayMonth.tsx @@ -43,7 +43,7 @@ export default function MVacayMonth({ className={`relative flex aspect-square items-center justify-center font-geist font-bold ${ mini ? 'rounded-[6px] text-[0.53125rem]' : 'rounded-lg text-[0.75rem]' }`} - style={{ background: visual.background, color: visual.numColor, boxShadow: visual.boxShadow }} + style={{ background: visual.background, color: visual.numColor, boxShadow: visual.boxShadow, textShadow: visual.textShadow }} > {/* 2+ people: equal-width segment overlays, each solid (vacation) or hatched (comp) (#1074). */} {visual.segments && visual.segments.length > 1 && (