ERP-node/frontend/contexts/DialogPortalContext.tsx

18 lines
562 B
TypeScript

"use client";
import { createContext, useContext } from "react";
/**
* 탭별 Dialog Portal 컨테이너 컨텍스트
* - 각 탭이 자신만의 포탈 컨테이너를 제공
* - 탭이 display:none이 되면 포탈 컨테이너도 숨겨져 모달이 자동으로 가려짐
* - 컨텍스트가 없는 경우(탭 외부) null 반환 → 기본 body 포탈 사용
*/
export const DialogPortalContainerContext = createContext<HTMLElement | null>(
null
);
export function useDialogPortalContainer() {
return useContext(DialogPortalContainerContext);
}