ide-page.tsx 1007 B

123456789101112131415161718192021222324252627282930
  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. // This is filled with placeholder content while the real content is migrated
  6. // away from Angular
  7. export default function IdePage() {
  8. const { registerUserActivity } = useConnectionContext()
  9. // Inform the connection manager when the user is active
  10. const listener = useCallback(
  11. () => registerUserActivity(),
  12. [registerUserActivity]
  13. )
  14. useEventListener('cursor:editor:update', listener)
  15. useEffect(() => {
  16. document.body.addEventListener('click', listener)
  17. return () => document.body.removeEventListener('click', listener)
  18. }, [listener])
  19. return (
  20. <>
  21. {/* TODO: Alerts and left menu will go here */}
  22. <LayoutWithPlaceholders shouldPersistLayout />
  23. </>
  24. )
  25. }