Files
overleaf-cep/services/web/frontend/js/features/ide-react/components/unsaved-docs/unsaved-docs.tsx
T
Kristina 77ce277a8b [web] Add offline indicator to toolbar (#35368)
GitOrigin-RevId: 81127bff21afb6aadcf175ba1767a2629f01d747
2026-09-17 11:23:02 +00:00

34 lines
1.1 KiB
TypeScript

import { FC } from 'react'
import { UnsavedDocsLockedAlert } from '@/features/ide-react/components/unsaved-docs/unsaved-docs-locked-alert'
import { UnsavedDocsAlert } from '@/features/ide-react/components/unsaved-docs/unsaved-docs-alert'
import { createPortal } from 'react-dom'
import { useGlobalAlertsContainer } from '@/features/ide-react/context/global-alerts-context'
import { useUnsavedDocsContext } from '@/features/ide-react/context/unsaved-docs-context'
import { useFeatureFlag } from '@/shared/context/split-test-context'
export const UnsavedDocs: FC = () => {
const { unsavedDocs, isLocked } = useUnsavedDocsContext()
const globalAlertsContainer = useGlobalAlertsContainer()
const improvedFlakyConnections = useFeatureFlag(
'intermittent-connection-improvements'
)
if (!globalAlertsContainer) {
return null
}
return (
<>
{isLocked &&
createPortal(<UnsavedDocsLockedAlert />, globalAlertsContainer)}
{!improvedFlakyConnections &&
unsavedDocs.size > 0 &&
createPortal(
<UnsavedDocsAlert unsavedDocs={unsavedDocs} />,
globalAlertsContainer
)}
</>
)
}