diff --git a/src/main/commands/BasicCommand.ts b/src/main/commands/BasicCommand.ts
index de5608d..44ebb6d 100644
--- a/src/main/commands/BasicCommand.ts
+++ b/src/main/commands/BasicCommand.ts
@@ -1,9 +1,13 @@
import { app, dialog } from "electron"
import { inject } from "inversify"
+import Tabs from "main/modules/tabs"
import WindowManager from "main/modules/window-manager"
export default class BasicCommand {
- constructor(@inject(WindowManager) private _WindowManager: WindowManager) {
+ constructor(
+ @inject(WindowManager) private _WindowManager: WindowManager,
+ @inject(Tabs) private _Tabs: Tabs
+ ) {
//
}
@@ -53,6 +57,7 @@ export default class BasicCommand {
return
}
}
+ this._Tabs.closeAll()
focusedWindow!.reload()
}
}
diff --git a/src/main/commands/TabsCommand.ts b/src/main/commands/TabsCommand.ts
index da022bd..044ceba 100644
--- a/src/main/commands/TabsCommand.ts
+++ b/src/main/commands/TabsCommand.ts
@@ -39,6 +39,10 @@ class TabsCommand {
this._Tabs.navigate(+index, url)
}
+ closeAll() {
+ this._Tabs.closeAll()
+ }
+
setActive(index) {
this._Tabs.changeActive(index)
}
diff --git a/src/main/modules/tabs/index.ts b/src/main/modules/tabs/index.ts
index 7e933af..2e62f6d 100644
--- a/src/main/modules/tabs/index.ts
+++ b/src/main/modules/tabs/index.ts
@@ -23,11 +23,11 @@ class Tabs extends BaseClass {
private curRect:
| {
- x: number
- y: number
- width: number
- height: number
- }
+ x: number
+ y: number
+ width: number
+ height: number
+ }
| undefined = undefined
constructor() {
@@ -99,6 +99,14 @@ class Tabs extends BaseClass {
this.events.emit("update")
}
+ closeAll() {
+ this._tabs = this._tabs.filter(tab => {
+ tab.destroy()
+ })
+ this._tabs = []
+ this.events.emit("update")
+ }
+
removeAll(index: number[]) {
index
.map(v => {
diff --git a/src/renderer/src/assets/style/_common.scss b/src/renderer/src/assets/style/_common.scss
index 651c752..f47851c 100644
--- a/src/renderer/src/assets/style/_common.scss
+++ b/src/renderer/src/assets/style/_common.scss
@@ -20,3 +20,7 @@ body {
#app {
height: 100%;
}
+
+* {
+ user-select: none;
+}
diff --git a/src/renderer/src/pages/[...all].vue b/src/renderer/src/pages/[...all].vue
index 6dbd617..991be30 100644
--- a/src/renderer/src/pages/[...all].vue
+++ b/src/renderer/src/pages/[...all].vue
@@ -1,3 +1,3 @@
- Not Found
+ Not Found
diff --git a/src/renderer/src/pages/_ui/App.vue b/src/renderer/src/pages/_ui/App.vue
new file mode 100644
index 0000000..101f062
--- /dev/null
+++ b/src/renderer/src/pages/_ui/App.vue
@@ -0,0 +1,5 @@
+
+
+ app
+
+
\ No newline at end of file
diff --git a/src/renderer/src/pages/_ui/Browser.vue b/src/renderer/src/pages/_ui/Browser.vue
index 35971ee..225fa4d 100644
--- a/src/renderer/src/pages/_ui/Browser.vue
+++ b/src/renderer/src/pages/_ui/Browser.vue
@@ -28,6 +28,7 @@ const { stop } = useResizeObserver(PlaceHolder, () => {
onBeforeUnmount(() => {
stop()
+ api.call("TabsCommand.closeAll")
})
const list = ref([])
diff --git a/src/renderer/src/pages/index.vue b/src/renderer/src/pages/index.vue
index dc280d9..9ceb9e6 100644
--- a/src/renderer/src/pages/index.vue
+++ b/src/renderer/src/pages/index.vue
@@ -1,18 +1,98 @@