@setoelkahfi / svara / commits / 30addd9

chore: handled bottom panel open and close better

Signed-off-by: mellobacon <mellodev@outlook.com>

mellobacon committed May 13, 2024 at 13:32 UTC 30addd9fcf70d2642ec640b98e6d1904412e6a76
3 files changed +18 -5
src/lib/Sidebar.svelte
+3 -1
@@ -2,6 +2,7 @@
2 import Folder from "carbon-icons-svelte/lib/Folder.svelte";
3 import SidebarTab from "./SidebarTab.svelte";
4 import FileTree from "./FileTree.svelte";
5 + import { fitTerminal } from "./Terminal.svelte";
6
7 </script>
8
@@ -45,6 +46,7 @@
46 showsidebarview.set(true);
47 tool.set(new Tool(tab.tabname, tab.content));
48 }
49 + fitTerminal();
50 }
51
52 export function openFileTree() {
@@ -70,4 +72,4 @@
72 height: .0625rem;
73 margin: 0 auto;
74 }
73 -</style>
\ No newline at end of file
75 +</style>
src/lib/Statusbar.svelte
+7
@@ -30,6 +30,7 @@
30 import { writable } from "svelte/store";
31 export let showBottomPanel = writable(false);
32 export let externalTerminal = writable(false);
33 + let currentTool = writable(null);
34 let show = false;
35
36 export let editortool = writable({name: "", content: null});
@@ -39,12 +40,18 @@
40 showBottomPanel.set(show);
41 if (x) {
42 editortool.set({name: x.name, content: x.content});
43 + currentTool.set(x.content);
44 }
45 }
46 export function hideBottomPanel() {
47 show = false;
48 showBottomPanel.set(false);
49 }
50 + export function closeBottomPanel() {
51 + show = false;
52 + showBottomPanel.set(false);
53 + editortool.set(null);
54 + }
55 export function setTerminalState(value) {
56 let v = value === "true" ? true : false;
57 externalTerminal.set(v);
src/lib/ToolView.svelte
+8 -4
@@ -1,8 +1,8 @@
1 <script lang="ts">
2 - import { hideBottomPanel } from "./Statusbar.svelte";
2 + import { closeBottomPanel, hideBottomPanel } from "./Statusbar.svelte";
3 import Ellipsis from "carbon-icons-svelte/lib/OverflowMenuHorizontal.svelte";
4 import Menu from "./utility/Menu.svelte";
5 - import { clearTerminal } from "./Terminal.svelte";
5 + import { clearTerminal, closeTerminal } from "./Terminal.svelte";
6
7 export let content = null;
8 export let name = "Tool";
@@ -14,9 +14,13 @@
14 <Menu right menu={{icon: Ellipsis, children: [
15 {name: "Clear Terminal", action: () => {
16 clearTerminal();
17 - }},]}}></Menu>
17 + }}, {name: "Close Terminal", action: () => {
18 + closeBottomPanel();
19 + closeTerminal();
20 + }}]}}></Menu>
21 </div>
19 - <span class="close" on:click={hideBottomPanel}></span>
22 + <!-- svelte-ignore a11y-click-events-have-key-events -->
23 + <span class="close" title="Hide Panel" on:click={hideBottomPanel}></span>
24 </div>
25 </div>
26 <div class="toolview-container">