From 98e8ad525f24d9151c5c01db8582a02b983a7841 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Tue, 17 Feb 2026 00:32:11 +0100 Subject: [PATCH] fix(modal): center overlays using flexbox via renderDialog use react-overlays' renderDialog prop to render a full-viewport flex container that centers modal children, replacing the fragile position:fixed + transform centering on the Modal component. - overlay.tsx: use renderDialog for flexbox centering, add z-max to backdrop and dialog container, simplify OverlayProps interface (hidden is now optional, decoupled from react-overlays types) - modal.tsx: remove position:fixed centering (overlay owns layout) - remove @ts-expect-error from buffer-config-modal and log-warning-modal (hidden is now optional) - ipns e2e test: dismiss import notification before opening the publish modal (dialog overlay now correctly blocks interaction with content behind it) --- src/components/modal/modal.tsx | 8 +--- src/components/overlay/overlay.tsx | 39 +++++++++++-------- .../logs-screen/buffer-config-modal.tsx | 1 - .../logs-screen/log-warning-modal.tsx | 1 - test/e2e/ipns.test.js | 7 ++-- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/components/modal/modal.tsx b/src/components/modal/modal.tsx index f28150b48..270841005 100644 --- a/src/components/modal/modal.tsx +++ b/src/components/modal/modal.tsx @@ -72,13 +72,7 @@ export const Modal: React.FC = ({
{onCancel && ( diff --git a/src/components/overlay/overlay.tsx b/src/components/overlay/overlay.tsx index ac2f15f55..752b0c2f2 100644 --- a/src/components/overlay/overlay.tsx +++ b/src/components/overlay/overlay.tsx @@ -1,30 +1,37 @@ import React from 'react' import { Modal } from 'react-overlays' -type ModalProps = React.ComponentProps - -export interface OverlayProps extends Omit { +export interface OverlayProps { show: boolean onLeave: () => void - hidden: boolean + hidden?: boolean + className?: string + children?: React.ReactNode } -const Overlay: React.FC = ({ children, show, onLeave, className = '', hidden, ...props }) => { - const renderBackdrop: React.FC> = (props) => ( -