ide-page.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. import LayoutWithPlaceholders from '@/features/ide-react/components/layout/layout-with-placeholders'
  2. import { useConnectionContext } from '@/features/ide-react/context/connection-context'
  3. import useEventListener from '@/shared/hooks/use-event-listener'
  4. import { useCallback, useEffect } from 'react'
  5. import { Alerts } from '@/features/ide-react/components/alerts/alerts'
  6. // This is filled with placeholder content while the real content is migrated
  7. // away from Angular
  8. export default function IdePage() {
  9. const { registerUserActivity } = useConnectionContext()
  10. // Inform the connection manager when the user is active
  11. const listener = useCallback(
  12. () => registerUserActivity(),
  13. [registerUserActivity]
  14. )
  15. useEventListener('cursor:editor:update', listener)
  16. useEffect(() => {
  17. document.body.addEventListener('click', listener)
  18. return () => document.body.removeEventListener('click', listener)
  19. }, [listener])
  20. return (
  21. <>
  22. <Alerts />
  23. {/* TODO: Left menu will go here */}
  24. <LayoutWithPlaceholders shouldPersistLayout />
  25. </>
  26. )
  27. }