@@ -2,7 +2,11 @@ import React, { useState, useRef, useCallback, useEffect } from 'react'
22import { getBoostHubTeamPageUrl } from '../../lib/boosthub'
33import styled from '../../lib/styled'
44import { DidNavigateInPageEvent , DidNavigateEvent } from 'electron'
5- import { openContextMenu } from '../../lib/electronOnly'
5+ import {
6+ openContextMenu ,
7+ addIpcListener ,
8+ removeIpcListener ,
9+ } from '../../lib/electronOnly'
610import { usePreferences } from '../../lib/preferences'
711import { osName } from '../../lib/platform'
812import {
@@ -92,12 +96,64 @@ const BoostHubTeamsShowPage = ({
9296 return
9397 }
9498
95- const handler = ( ) => {
99+ const toggleSettingsHandler = ( ) => {
96100 webviewControlRef . current ! . sendMessage ( 'toggle-settings' )
97101 }
98- boostHubToggleSettingsEventEmitter . listen ( handler )
102+ boostHubToggleSettingsEventEmitter . listen ( toggleSettingsHandler )
103+
104+ const newNoteHandler = ( ) => {
105+ webviewControlRef . current ! . sendMessage ( 'new-note' )
106+ }
107+ const newFolderHandler = ( ) => {
108+ webviewControlRef . current ! . sendMessage ( 'new-folder' )
109+ }
110+ const saveAsHandler = ( ) => {
111+ webviewControlRef . current ! . sendMessage ( 'save-as' )
112+ }
113+ const searchHandler = ( ) => {
114+ webviewControlRef . current ! . sendMessage ( 'search' )
115+ }
116+ const focusSideNavigatorHandler = ( ) => {
117+ webviewControlRef . current ! . sendMessage ( 'focus-side-navigator' )
118+ }
119+ const toggleSideNavigatorHandler = ( ) => {
120+ webviewControlRef . current ! . sendMessage ( 'toggle-side-navigator' )
121+ }
122+ const focusEditorHandler = ( ) => {
123+ webviewControlRef . current ! . sendMessage ( 'focus-editor' )
124+ }
125+ const focusTitle = ( ) => {
126+ webviewControlRef . current ! . sendMessage ( 'focus-title' )
127+ }
128+ const togglePreviewMode = ( ) => {
129+ webviewControlRef . current ! . sendMessage ( 'toggle-preview-mode' )
130+ }
131+ const toggleSplitEditMode = ( ) => {
132+ webviewControlRef . current ! . sendMessage ( 'toggle-split-edit-mode' )
133+ }
134+ addIpcListener ( 'new-note' , newNoteHandler )
135+ addIpcListener ( 'new-folder' , newFolderHandler )
136+ addIpcListener ( 'save-as' , saveAsHandler )
137+ addIpcListener ( 'search' , searchHandler )
138+ addIpcListener ( 'focus-side-navigator' , focusSideNavigatorHandler )
139+ addIpcListener ( 'toggle-side-navigator' , toggleSideNavigatorHandler )
140+ addIpcListener ( 'focus-editor' , focusEditorHandler )
141+ addIpcListener ( 'focus-title' , focusTitle )
142+ addIpcListener ( 'toggle-preview-mode' , togglePreviewMode )
143+ addIpcListener ( 'toggle-split-edit-mode' , toggleSplitEditMode )
144+
99145 return ( ) => {
100- boostHubToggleSettingsEventEmitter . unlisten ( handler )
146+ boostHubToggleSettingsEventEmitter . unlisten ( toggleSettingsHandler )
147+ removeIpcListener ( 'new-note' , newNoteHandler )
148+ removeIpcListener ( 'new-folder' , newFolderHandler )
149+ removeIpcListener ( 'save-as' , saveAsHandler )
150+ removeIpcListener ( 'search' , searchHandler )
151+ removeIpcListener ( 'focus-side-navigator' , focusSideNavigatorHandler )
152+ removeIpcListener ( 'toggle-side-navigator' , toggleSideNavigatorHandler )
153+ removeIpcListener ( 'focus-editor' , focusEditorHandler )
154+ removeIpcListener ( 'focus-title' , focusTitle )
155+ removeIpcListener ( 'toggle-preview-mode' , togglePreviewMode )
156+ removeIpcListener ( 'toggle-split-edit-mode' , toggleSplitEditMode )
101157 }
102158 } , [ active ] )
103159
0 commit comments