mirror of
https://github.com/overleaf/overleaf.git
synced 2025-03-04 09:41:12 +00:00
* Defer script loading * Refactor loading * Wait for project:joined * Only mount IdePage once everything has connected * Add useConnectionState hook and comments * Remove placeholder components * Move props into EditorAndSidebar * Move props into MainLayout * Tidy editor and sidebar components * Lazy-load the symbol palette pane and separate the loading pane GitOrigin-RevId: 4b721a06d6aba0ae0ec91768e6a6e29cf15e2083
28 lines
1.5 KiB
TypeScript
28 lines
1.5 KiB
TypeScript
import { Alerts } from '@/features/ide-react/components/alerts/alerts'
|
|
import MainLayout from '@/features/ide-react/components/layout/main-layout'
|
|
import EditorLeftMenu from '@/features/editor-left-menu/components/editor-left-menu'
|
|
import { useLayoutEventTracking } from '@/features/ide-react/hooks/use-layout-event-tracking'
|
|
import useSocketListeners from '@/features/ide-react/hooks/use-socket-listeners'
|
|
import { useOpenFile } from '@/features/ide-react/hooks/use-open-file'
|
|
import { useEditingSessionHeartbeat } from '@/features/ide-react/hooks/use-editing-session-heartbeat'
|
|
import { useRegisterUserActivity } from '@/features/ide-react/hooks/use-register-user-activity'
|
|
import { useHasLintingError } from '@/features/ide-react/hooks/use-has-linting-error'
|
|
import { useConnectionState } from '@/features/ide-react/hooks/use-connection-state'
|
|
|
|
export default function IdePage() {
|
|
useLayoutEventTracking() // send event when the layout changes
|
|
useSocketListeners() // listen for project-related websocket messages
|
|
useEditingSessionHeartbeat() // send a batched event when user is active
|
|
useRegisterUserActivity() // record activity and ensure connection when user is active
|
|
useHasLintingError() // pass editor:lint hasLintingError to the compiler
|
|
useOpenFile() // create ide.binaryFilesManager (TODO: move to the history file restore component)
|
|
useConnectionState() // show modal when editor is forcefully disconnected
|
|
|
|
return (
|
|
<>
|
|
<Alerts />
|
|
<EditorLeftMenu />
|
|
<MainLayout />
|
|
</>
|
|
)
|
|
}
|