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 @@ 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 @@ + \ 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 @@ - +