fix(emcn): stop calendar content bleeding through the modal backdrop (#5311)

* fix(emcn): promote modal overlay + content wrapper to own compositing layers

The backdrop-blur overlay did not reliably paint above page content the
browser had GPU-promoted (position: sticky headers and z-indexed absolutes
inside a scroll container, e.g. the scheduled-tasks calendar), so those
composited layers bled through the overlay despite its higher z-index.
Force the overlay and the content wrapper onto their own compositing
layers via translateZ(0) so the compositor honors stacking order.

Inherent since the calendar shipped (#4979), not a refactor regression.

* Revert "fix(emcn): promote modal overlay + content wrapper to own compositing layers"

This reverts commit 52145edc97.

* fix(ui): import calendar icon not calendar widget from emcn

* fix(ui): fix calendar icon emcn mismatch

---------

Co-authored-by: Theodore Li <theo@sim.ai>
This commit is contained in:
Waleed
2026-06-30 20:47:32 -07:00
committed by GitHub
co-authored by Theodore Li
parent 2c38e63c17
commit 44a954dc3c
3 changed files with 3 additions and 3 deletions
@@ -1,13 +1,13 @@
'use client'
import {
Calendar,
ChipConfirmModal,
ChipModal,
ChipModalBody,
ChipModalFooter,
ChipModalHeader,
} from '@sim/emcn'
import { Calendar } from '@sim/emcn/icons'
import type { ScheduledTask } from '@/app/workspace/[workspaceId]/scheduled-tasks/utils/schedule-events'
interface TaskDeleteDialogProps {
@@ -1,6 +1,5 @@
'use client'
import {
Calendar,
ChipModal,
ChipModalBody,
ChipModalField,
@@ -9,6 +8,7 @@ import {
chipFieldSurfaceClass,
cn,
} from '@sim/emcn'
import { Calendar } from '@sim/emcn/icons'
import { format } from 'date-fns'
import { useParams } from 'next/navigation'
import {
@@ -2,7 +2,6 @@
import { useEffect, useRef, useState } from 'react'
import {
Calendar,
ChipDatePicker,
ChipModal,
ChipModalFooter,
@@ -11,6 +10,7 @@ import {
ChipModalPromptBody,
ChipTimePicker,
} from '@sim/emcn'
import { Calendar } from '@sim/emcn/icons'
import { format } from 'date-fns'
import { useParams } from 'next/navigation'
import { wallClockNow, zonedWallClockToUtc } from '@/lib/core/utils/timezone'