diff --git a/frontend/app/tab/tabbar.tsx b/frontend/app/tab/tabbar.tsx
index 8cd619c37..a1e3acab0 100644
--- a/frontend/app/tab/tabbar.tsx
+++ b/frontend/app/tab/tabbar.tsx
@@ -8,11 +8,10 @@ import { deleteLayoutStateAtomForTab } from "frontend/layout/lib/layoutAtom";
import { useAtomValue } from "jotai";
import { OverlayScrollbars } from "overlayscrollbars";
import React, { createRef, useCallback, useEffect, useRef, useState } from "react";
-
-import { Tab } from "./tab";
-
import { debounce } from "throttle-debounce";
+import logoPng from "../../../public/logos/wave-logo.png";
import { Button } from "../element/button";
+import { Tab } from "./tab";
import "./tabbar.less";
const TAB_DEFAULT_WIDTH = 130;
@@ -496,7 +495,7 @@ const TabBar = React.memo(({ workspace }: TabBarProps) => {
} else {
waveLabel = (
-

+
);
}
diff --git a/package.json b/package.json
index 3f877c05d..5e695b3bb 100644
--- a/package.json
+++ b/package.json
@@ -58,6 +58,7 @@
"prettier-plugin-jsdoc": "^1.3.0",
"prettier-plugin-organize-imports": "^4.0.0",
"rollup-plugin-flow": "^1.1.1",
+ "sharp": "^0.33.4",
"storybook": "^8.2.7",
"ts-node": "^10.9.2",
"tslib": "^2.6.3",
diff --git a/yarn.lock b/yarn.lock
index 5d7902fd5..9120cbe6d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1917,6 +1917,15 @@ __metadata:
languageName: node
linkType: hard
+"@emnapi/runtime@npm:^1.1.1":
+ version: 1.2.0
+ resolution: "@emnapi/runtime@npm:1.2.0"
+ dependencies:
+ tslib: "npm:^2.4.0"
+ checksum: 10c0/7005ff8b67724c9e61b6cd79a3decbdb2ce25d24abd4d3d187472f200ee6e573329c30264335125fb136bd813aa9cf9f4f7c9391d04b07dd1e63ce0a3427be57
+ languageName: node
+ linkType: hard
+
"@esbuild/aix-ppc64@npm:0.20.2":
version: 0.20.2
resolution: "@esbuild/aix-ppc64@npm:0.20.2"
@@ -2320,6 +2329,181 @@ __metadata:
languageName: node
linkType: hard
+"@img/sharp-darwin-arm64@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-darwin-arm64@npm:0.33.4"
+ dependencies:
+ "@img/sharp-libvips-darwin-arm64": "npm:1.0.2"
+ dependenciesMeta:
+ "@img/sharp-libvips-darwin-arm64":
+ optional: true
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@img/sharp-darwin-x64@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-darwin-x64@npm:0.33.4"
+ dependencies:
+ "@img/sharp-libvips-darwin-x64": "npm:1.0.2"
+ dependenciesMeta:
+ "@img/sharp-libvips-darwin-x64":
+ optional: true
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-darwin-arm64@npm:1.0.2":
+ version: 1.0.2
+ resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.2"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-darwin-x64@npm:1.0.2":
+ version: 1.0.2
+ resolution: "@img/sharp-libvips-darwin-x64@npm:1.0.2"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-arm64@npm:1.0.2":
+ version: 1.0.2
+ resolution: "@img/sharp-libvips-linux-arm64@npm:1.0.2"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-arm@npm:1.0.2":
+ version: 1.0.2
+ resolution: "@img/sharp-libvips-linux-arm@npm:1.0.2"
+ conditions: os=linux & cpu=arm & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-s390x@npm:1.0.2":
+ version: 1.0.2
+ resolution: "@img/sharp-libvips-linux-s390x@npm:1.0.2"
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-x64@npm:1.0.2":
+ version: 1.0.2
+ resolution: "@img/sharp-libvips-linux-x64@npm:1.0.2"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linuxmusl-arm64@npm:1.0.2":
+ version: 1.0.2
+ resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.2"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linuxmusl-x64@npm:1.0.2":
+ version: 1.0.2
+ resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.2"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-arm64@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-linux-arm64@npm:0.33.4"
+ dependencies:
+ "@img/sharp-libvips-linux-arm64": "npm:1.0.2"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-arm64":
+ optional: true
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-arm@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-linux-arm@npm:0.33.4"
+ dependencies:
+ "@img/sharp-libvips-linux-arm": "npm:1.0.2"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-arm":
+ optional: true
+ conditions: os=linux & cpu=arm & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-s390x@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-linux-s390x@npm:0.33.4"
+ dependencies:
+ "@img/sharp-libvips-linux-s390x": "npm:1.0.2"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-s390x":
+ optional: true
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-x64@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-linux-x64@npm:0.33.4"
+ dependencies:
+ "@img/sharp-libvips-linux-x64": "npm:1.0.2"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-x64":
+ optional: true
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linuxmusl-arm64@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-linuxmusl-arm64@npm:0.33.4"
+ dependencies:
+ "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.2"
+ dependenciesMeta:
+ "@img/sharp-libvips-linuxmusl-arm64":
+ optional: true
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linuxmusl-x64@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-linuxmusl-x64@npm:0.33.4"
+ dependencies:
+ "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.2"
+ dependenciesMeta:
+ "@img/sharp-libvips-linuxmusl-x64":
+ optional: true
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@img/sharp-wasm32@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-wasm32@npm:0.33.4"
+ dependencies:
+ "@emnapi/runtime": "npm:^1.1.1"
+ conditions: cpu=wasm32
+ languageName: node
+ linkType: hard
+
+"@img/sharp-win32-ia32@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-win32-ia32@npm:0.33.4"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@img/sharp-win32-x64@npm:0.33.4":
+ version: 0.33.4
+ resolution: "@img/sharp-win32-x64@npm:0.33.4"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
"@isaacs/cliui@npm:^8.0.2":
version: 8.0.2
resolution: "@isaacs/cliui@npm:8.0.2"
@@ -6170,6 +6354,13 @@ __metadata:
languageName: node
linkType: hard
+"detect-libc@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "detect-libc@npm:2.0.3"
+ checksum: 10c0/88095bda8f90220c95f162bf92cad70bd0e424913e655c20578600e35b91edc261af27531cf160a331e185c0ced93944bc7e09939143225f56312d7fd800fdb7
+ languageName: node
+ linkType: hard
+
"detect-node@npm:^2.0.4":
version: 2.1.0
resolution: "detect-node@npm:2.1.0"
@@ -11543,6 +11734,75 @@ __metadata:
languageName: node
linkType: hard
+"sharp@npm:^0.33.4":
+ version: 0.33.4
+ resolution: "sharp@npm:0.33.4"
+ dependencies:
+ "@img/sharp-darwin-arm64": "npm:0.33.4"
+ "@img/sharp-darwin-x64": "npm:0.33.4"
+ "@img/sharp-libvips-darwin-arm64": "npm:1.0.2"
+ "@img/sharp-libvips-darwin-x64": "npm:1.0.2"
+ "@img/sharp-libvips-linux-arm": "npm:1.0.2"
+ "@img/sharp-libvips-linux-arm64": "npm:1.0.2"
+ "@img/sharp-libvips-linux-s390x": "npm:1.0.2"
+ "@img/sharp-libvips-linux-x64": "npm:1.0.2"
+ "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.2"
+ "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.2"
+ "@img/sharp-linux-arm": "npm:0.33.4"
+ "@img/sharp-linux-arm64": "npm:0.33.4"
+ "@img/sharp-linux-s390x": "npm:0.33.4"
+ "@img/sharp-linux-x64": "npm:0.33.4"
+ "@img/sharp-linuxmusl-arm64": "npm:0.33.4"
+ "@img/sharp-linuxmusl-x64": "npm:0.33.4"
+ "@img/sharp-wasm32": "npm:0.33.4"
+ "@img/sharp-win32-ia32": "npm:0.33.4"
+ "@img/sharp-win32-x64": "npm:0.33.4"
+ color: "npm:^4.2.3"
+ detect-libc: "npm:^2.0.3"
+ semver: "npm:^7.6.0"
+ dependenciesMeta:
+ "@img/sharp-darwin-arm64":
+ optional: true
+ "@img/sharp-darwin-x64":
+ optional: true
+ "@img/sharp-libvips-darwin-arm64":
+ optional: true
+ "@img/sharp-libvips-darwin-x64":
+ optional: true
+ "@img/sharp-libvips-linux-arm":
+ optional: true
+ "@img/sharp-libvips-linux-arm64":
+ optional: true
+ "@img/sharp-libvips-linux-s390x":
+ optional: true
+ "@img/sharp-libvips-linux-x64":
+ optional: true
+ "@img/sharp-libvips-linuxmusl-arm64":
+ optional: true
+ "@img/sharp-libvips-linuxmusl-x64":
+ optional: true
+ "@img/sharp-linux-arm":
+ optional: true
+ "@img/sharp-linux-arm64":
+ optional: true
+ "@img/sharp-linux-s390x":
+ optional: true
+ "@img/sharp-linux-x64":
+ optional: true
+ "@img/sharp-linuxmusl-arm64":
+ optional: true
+ "@img/sharp-linuxmusl-x64":
+ optional: true
+ "@img/sharp-wasm32":
+ optional: true
+ "@img/sharp-win32-ia32":
+ optional: true
+ "@img/sharp-win32-x64":
+ optional: true
+ checksum: 10c0/428c5c6a84ff8968effe50c2de931002f5f30b9f263e1c026d0384e581673c13088a49322f7748114d3d9be4ae9476a74bf003a3af34743e97ef2f880d1cfe45
+ languageName: node
+ linkType: hard
+
"shebang-command@npm:^2.0.0":
version: 2.0.0
resolution: "shebang-command@npm:2.0.0"
@@ -12127,6 +12387,7 @@ __metadata:
remark-gfm: "npm:^4.0.0"
rollup-plugin-flow: "npm:^1.1.1"
rxjs: "npm:^7.8.1"
+ sharp: "npm:^0.33.4"
shell-quote: "npm:^1.8.1"
sprintf-js: "npm:^1.1.3"
storybook: "npm:^8.2.7"
@@ -12374,7 +12635,7 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^2.0.3, tslib@npm:^2.6.3":
+"tslib@npm:^2.0.3, tslib@npm:^2.4.0, tslib@npm:^2.6.3":
version: 2.6.3
resolution: "tslib@npm:2.6.3"
checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a