From f18923ff1451b227ce77b2ba076e8b23698f5594 Mon Sep 17 00:00:00 2001 From: ThinLiquid Date: Fri, 8 Dec 2023 11:38:01 +0000 Subject: [PATCH] =?UTF-8?q?[=F0=9F=92=84]=20Added=20window=20resizing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/style.less | 8 +++++++- src/structures/FlowWindow.ts | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/assets/style.less b/src/assets/style.less index a0956c6..3418b8c 100644 --- a/src/assets/style.less +++ b/src/assets/style.less @@ -104,6 +104,11 @@ window-area { margin: 10px; window { + resize: both; + max-width: 100%; + max-height: 100%; + min-height: 35px; + min-width: calc(35px * 6); background: var(--base); display: flex; flex-direction: column; @@ -112,7 +117,7 @@ window-area { overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.2); background: var(--crust); - transition: 0.2s opacity, 0.2s width, 0.2s height; + transition: 0.2s opacity, 0.2s transform; window-header { height: 35px; @@ -120,6 +125,7 @@ window-area { display: flex; align-items: center; gap: 7.5px; + user-select: none; img { aspect-ratio: 1 / 1; diff --git a/src/structures/FlowWindow.ts b/src/structures/FlowWindow.ts index 97fb99d..dff5c78 100644 --- a/src/structures/FlowWindow.ts +++ b/src/structures/FlowWindow.ts @@ -174,9 +174,11 @@ class FlowWindow { if (this.isMinimized) { this.element.style.pointerEvents = 'all' this.element.style.opacity = '1' + this.element.style.transform = 'translateY(0)' } else { this.element.style.pointerEvents = 'none' this.element.style.opacity = '0' + this.element.style.transform = 'translateY(10px)' } this.isMinimized = !this.isMinimized @@ -228,9 +230,14 @@ class FlowWindow { * Closes the window. */ close (): void { - this.element.remove() + this.element.style.pointerEvents = 'none' + this.element.style.opacity = '0' + this.element.style.transform = 'translateY(10px)' const event = new CustomEvent('app_closed', { detail: { win: this } }) window.dispatchEvent(event) + setTimeout(() => { + this.element.remove() + }, 200) } /**