|
160 | 160 |
|
161 | 161 | const linkProviders = client.getModel().findAllSync(view.mixin.LinkIdProvider, {}) |
162 | 162 |
|
163 | | - $deviceInfo.navigator.visible = getMetadata(workbench.metadata.NavigationExpandedDefault) ?? true |
164 | | - $deviceInfo.aside.visible = getMetadata(workbench.metadata.NavigationExpandedDefault) ?? true |
| 163 | + const defaultNavigator = !(getMetadata(workbench.metadata.NavigationExpandedDefault) ?? true) |
| 164 | + const savedNavigator = localStorage.getItem('hiddenNavigator') |
| 165 | + const savedAside = localStorage.getItem('hiddenAside') |
| 166 | + let hiddenNavigator: boolean = savedNavigator !== null ? savedNavigator === 'true' : defaultNavigator |
| 167 | + let hiddenAside: boolean = savedAside !== null ? savedAside === 'true' : defaultNavigator |
| 168 | + $deviceInfo.navigator.visible = !hiddenNavigator |
| 169 | + $deviceInfo.aside.visible = !hiddenAside |
| 170 | + sidebarStore.subscribe((sidebar) => { |
| 171 | + if (!$deviceInfo.aside.float) { |
| 172 | + hiddenAside = sidebar.variant === SidebarVariant.MINI |
| 173 | + localStorage.setItem('hiddenAside', `${hiddenAside}`) |
| 174 | + } |
| 175 | + }) |
165 | 176 |
|
166 | 177 | async function toggleNav (): Promise<void> { |
167 | 178 | $deviceInfo.navigator.visible = !$deviceInfo.navigator.visible |
| 179 | + if (!$deviceInfo.navigator.float) { |
| 180 | + hiddenNavigator = !$deviceInfo.navigator.visible |
| 181 | + localStorage.setItem('hiddenNavigator', `${hiddenNavigator}`) |
| 182 | + } |
168 | 183 | closeTooltip() |
169 | 184 | if (currentApplication && navigatorModel) { |
170 | 185 | await tick() |
|
638 | 653 |
|
639 | 654 | $deviceInfo.navigator.float = workbenchWidth <= HIDE_NAVIGATOR |
640 | 655 | const checkWorkbenchWidth = (): void => { |
641 | | - if (workbenchWidth <= HIDE_NAVIGATOR && !$deviceInfo.navigator.float && $deviceInfo.navigator.visible) { |
| 656 | + if (workbenchWidth <= HIDE_NAVIGATOR && !$deviceInfo.navigator.float) { |
642 | 657 | $deviceInfo.navigator.visible = false |
643 | 658 | $deviceInfo.navigator.float = true |
644 | 659 | } else if (workbenchWidth > HIDE_NAVIGATOR && $deviceInfo.navigator.float) { |
645 | | - if (getMetadata(workbench.metadata.NavigationExpandedDefault) === undefined) { |
646 | | - $deviceInfo.navigator.float = false |
647 | | - $deviceInfo.navigator.visible = true |
648 | | - } |
| 660 | + $deviceInfo.navigator.float = false |
| 661 | + $deviceInfo.navigator.visible = !hiddenNavigator |
649 | 662 | } |
650 | 663 | } |
651 | 664 | checkWorkbenchWidth() |
652 | 665 | $: if ($deviceInfo.docWidth <= HIDE_ASIDE && !$deviceInfo.aside.float) { |
653 | 666 | $deviceInfo.aside.visible = false |
654 | 667 | $deviceInfo.aside.float = true |
655 | 668 | } else if ($deviceInfo.docWidth > HIDE_ASIDE && $deviceInfo.aside.float) { |
656 | | - if (getMetadata(workbench.metadata.NavigationExpandedDefault) === undefined) { |
657 | | - $deviceInfo.aside.float = false |
658 | | - $deviceInfo.aside.visible = true |
659 | | - } |
| 669 | + $deviceInfo.aside.float = false |
| 670 | + $deviceInfo.aside.visible = !hiddenAside |
660 | 671 | } |
661 | 672 | const checkOnHide = (): void => { |
662 | 673 | if ($deviceInfo.navigator.visible && $deviceInfo.navigator.float) $deviceInfo.navigator.visible = false |
|
847 | 858 | notify={hasInboxNotifications} |
848 | 859 | /> |
849 | 860 | </NavLink> |
850 | | - <Applications {apps} active={currentApplication?._id} direction={$deviceInfo.navigator.direction} /> |
| 861 | + <Applications |
| 862 | + {apps} |
| 863 | + active={currentApplication?._id} |
| 864 | + direction={$deviceInfo.navigator.direction} |
| 865 | + on:toggleNav={toggleNav} |
| 866 | + /> |
851 | 867 | </div> |
852 | 868 | <div |
853 | 869 | class="info-box {$deviceInfo.navigator.direction}" |
|
0 commit comments