diff --git a/src/public/javascripts/desktop.js b/src/public/javascripts/desktop.js index 8a4295300..1a8086300 100644 --- a/src/public/javascripts/desktop.js +++ b/src/public/javascripts/desktop.js @@ -31,6 +31,7 @@ import dateNoteService from './services/date_notes.js'; import sidebarService from './services/sidebar.js'; import importService from './services/import.js'; import keyboardActionService from "./services/keyboard_actions.js"; +import splitService from "./services/split.js"; window.glob.isDesktop = utils.isDesktop; window.glob.isMobile = utils.isMobile; @@ -174,6 +175,8 @@ noteTooltipService.setupGlobalTooltip(); noteAutocompleteService.init(); +splitService.setupSplitWithSidebar(); + if (utils.isElectron()) { import("./services/spell_check.js").then(spellCheckService => spellCheckService.initSpellCheck()); } diff --git a/src/public/javascripts/services/entrypoints.js b/src/public/javascripts/services/entrypoints.js index 0b2467b88..3c934b170 100644 --- a/src/public/javascripts/services/entrypoints.js +++ b/src/public/javascripts/services/entrypoints.js @@ -286,11 +286,6 @@ function registerEntrypoints() { searchNotesService.searchInSubtree(node.data.noteId); }); - - Split(['#left-pane', '#center-pane', '#right-pane'], { - sizes: [25, 50, 25], - gutterSize: 5 - }); } export default { diff --git a/src/public/javascripts/services/sidebar.js b/src/public/javascripts/services/sidebar.js index 6d1575313..654f09e62 100644 --- a/src/public/javascripts/services/sidebar.js +++ b/src/public/javascripts/services/sidebar.js @@ -1,22 +1,31 @@ import bundleService from "./bundle.js"; import ws from "./ws.js"; import optionsService from "./options.js"; +import splitService from "./split.js"; const $sidebar = $("#right-pane"); -const $sidebarContainer = $sidebar.find('.sidebar-container'); +const $sidebarContainer = $('#sidebar-container'); -const $showSideBarButton = $sidebar.find(".show-sidebar-button"); -const $hideSidebarButton = $sidebar.find(".hide-sidebar-button"); +const $showSideBarButton = $("#show-sidebar-button"); +const $hideSidebarButton = $("#hide-sidebar-button"); + +$showSideBarButton.hide(); $hideSidebarButton.on('click', () => { $sidebar.hide(); $showSideBarButton.show(); + $hideSidebarButton.hide(); + + splitService.setupSplitWithoutSidebar(); }); // FIXME shoud run note loaded! $showSideBarButton.on('click', () => { $sidebar.show(); $showSideBarButton.hide(); + $hideSidebarButton.show(); + + splitService.setupSplitWithSidebar(); }); class Sidebar { diff --git a/src/public/javascripts/services/split.js b/src/public/javascripts/services/split.js new file mode 100644 index 000000000..a10e747a0 --- /dev/null +++ b/src/public/javascripts/services/split.js @@ -0,0 +1,28 @@ +let instance; + +function setupSplitWithSidebar() { + if (instance) { + instance.destroy(); + } + + instance = Split(['#left-pane', '#center-pane', '#right-pane'], { + sizes: [25, 50, 25], + gutterSize: 5 + }); +} + +function setupSplitWithoutSidebar() { + if (instance) { + instance.destroy(); + } + + instance = Split(['#left-pane', '#center-pane'], { + sizes: [25, 75], + gutterSize: 5 + }); +} + +export default { + setupSplitWithSidebar, + setupSplitWithoutSidebar +}; \ No newline at end of file diff --git a/src/public/stylesheets/desktop.css b/src/public/stylesheets/desktop.css index 8c3b37d0d..b66eb9903 100644 --- a/src/public/stylesheets/desktop.css +++ b/src/public/stylesheets/desktop.css @@ -398,16 +398,11 @@ body { transition: transform 120ms ease-in-out; } -.hide-sidebar-button { - color: var(--main-text-color); - background: none; - border: 1px solid transparent; - padding: 2px 8px 2px 8px; - border-radius: 2px; -} - -.hide-sidebar-button:hover { - border-color: var(--button-border-color); +#hide-sidebar-button, #show-sidebar-button { + position: fixed; + bottom: 10px; + right: 10px; + z-index: 100000; } #right-pane { diff --git a/src/views/sidebar.ejs b/src/views/sidebar.ejs index c4f57d4e3..eb1a55ce2 100644 --- a/src/views/sidebar.ejs +++ b/src/views/sidebar.ejs @@ -1,8 +1,6 @@ -
- -