editor-navigation-toolbar.tsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { useState, useCallback } from 'react'
  2. import { useOnlineUsersContext } from '@/features/ide-react/context/online-users-context'
  3. import { useEditorManagerContext } from '@/features/ide-react/context/editor-manager-context'
  4. import * as eventTracking from '@/infrastructure/event-tracking'
  5. import EditorNavigationToolbarRoot from '@/features/editor-navigation-toolbar/components/editor-navigation-toolbar-root'
  6. import ShareProjectModal from '@/features/share-project-modal/components/share-project-modal'
  7. function EditorNavigationToolbar() {
  8. const [showShareModal, setShowShareModal] = useState(false)
  9. const { onlineUsersArray } = useOnlineUsersContext()
  10. const { openDoc } = useEditorManagerContext()
  11. const handleOpenShareModal = () => {
  12. eventTracking.sendMBOnce('ide-open-share-modal-once')
  13. setShowShareModal(true)
  14. }
  15. const handleHideShareModal = useCallback(() => {
  16. setShowShareModal(false)
  17. }, [])
  18. return (
  19. <>
  20. <EditorNavigationToolbarRoot
  21. // @ts-ignore
  22. onlineUsersArray={onlineUsersArray}
  23. openDoc={openDoc}
  24. openShareProjectModal={handleOpenShareModal}
  25. />
  26. <ShareProjectModal
  27. show={showShareModal}
  28. handleHide={handleHideShareModal}
  29. />
  30. </>
  31. )
  32. }
  33. export default EditorNavigationToolbar