diff --git a/index.html b/index.html
index a50c3894..85bbf3c3 100644
--- a/index.html
+++ b/index.html
@@ -5,17 +5,6 @@
Yaak App
-
diff --git a/package-lock.json b/package-lock.json
index 92e6621c..21ff5e2a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -47,7 +47,7 @@
},
"devDependencies": {
"@tailwindcss/nesting": "^0.0.0-insiders.565cd3e",
- "@tauri-apps/cli": "^1.5.4",
+ "@tauri-apps/cli": "^1.5.6",
"@types/node": "^18.7.10",
"@types/papaparse": "^5.3.7",
"@types/parse-color": "^1.0.1",
diff --git a/package.json b/package.json
index 7bf4e701..295831c3 100644
--- a/package.json
+++ b/package.json
@@ -5,18 +5,18 @@
"type": "module",
"scripts": {
"start": "npm run build:plugins && npm run tauri-dev",
- "tauri-dev": "tauri dev --no-watch --config src-tauri/tauri-dev.conf.json",
+ "tauri-dev": "tauri dev --no-watch --config ./src-tauri/tauri-dev.conf.json",
"tauri-build": "tauri build",
"tauri": "tauri",
"build": "npm run build:frontend",
"dev": "vite dev",
"lint": "tsc && eslint . --ext .ts,.tsx",
- "build:icon:release": "tauri icon design/icon.png --output src-tauri/icons/release",
- "build:icon:dev": "tauri icon design/icon-dev.png --output src-tauri/icons/dev",
+ "build:icon:release": "tauri icon design/icon.png --output ./src-tauri/icons/release",
+ "build:icon:dev": "tauri icon design/icon-dev.png --output ./src-tauri/icons/dev",
"build:frontend": "vite build",
"build:plugins": "run-p build:plugin:importer-insomnia build:plugin:importer-postman build:plugin:importer-yaak",
- "build:plugin:importer-insomnia": "cd src-tauri/plugins/importer-insomnia && vite build",
- "build:plugin:importer-postman": "cd src-tauri/plugins/importer-postman && vite build",
+ "build:plugin:importer-insomnia": "cd ./src-tauri/plugins/importer-insomnia && vite build",
+ "build:plugin:importer-postman": "cd ./src-tauri/plugins/importer-postman && vite build",
"build:plugin:importer-yaak": "cd src-tauri/plugins/importer-yaak && vite build",
"test": "vitest",
"coverage": "vitest run --coverage",
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
index 01b4a4dd..8489824f 100644
--- a/src-tauri/Cargo.lock
+++ b/src-tauri/Cargo.lock
@@ -783,12 +783,12 @@ dependencies = [
[[package]]
name = "ctor"
-version = "0.1.26"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
+checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
dependencies = [
"quote",
- "syn 1.0.109",
+ "syn 2.0.39",
]
[[package]]
@@ -975,11 +975,12 @@ dependencies = [
[[package]]
name = "embed-resource"
-version = "2.4.0"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f54cc3e827ee1c3812239a9a41dede7b4d7d5d5464faa32d71bd7cba28ce2cb2"
+checksum = "3bde55e389bea6a966bd467ad1ad7da0ae14546a5bc794d16d1e55e7fca44881"
dependencies = [
"cc",
+ "memchr",
"rustc_version",
"toml 0.8.8",
"vswhom",
@@ -2027,9 +2028,9 @@ dependencies = [
[[package]]
name = "infer"
-version = "0.12.0"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3"
+checksum = "f551f8c3a39f68f986517db0d1759de85881894fdc7db798bd2a9df9cb04b7fc"
dependencies = [
"cfb",
]
@@ -2356,9 +2357,9 @@ dependencies = [
[[package]]
name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
[[package]]
name = "memoffset"
@@ -2878,9 +2879,7 @@ version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
dependencies = [
- "phf_macros 0.10.0",
"phf_shared 0.10.0",
- "proc-macro-hack",
]
[[package]]
@@ -2957,20 +2956,6 @@ dependencies = [
"syn 1.0.109",
]
-[[package]]
-name = "phf_macros"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
-dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
- "proc-macro-hack",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "phf_macros"
version = "0.11.2"
@@ -4426,9 +4411,9 @@ dependencies = [
[[package]]
name = "tauri-build"
-version = "1.5.0"
+version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defbfc551bd38ab997e5f8e458f87396d2559d05ce32095076ad6c30f7fc5f9c"
+checksum = "e9914a4715e0b75d9f387a285c7e26b5bbfeb1249ad9f842675a82481565c532"
dependencies = [
"anyhow",
"cargo_toml",
@@ -4555,9 +4540,9 @@ dependencies = [
[[package]]
name = "tauri-utils"
-version = "1.5.0"
+version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34d55e185904a84a419308d523c2c6891d5e2dbcee740c4997eb42e75a7b0f46"
+checksum = "ece74810b1d3d44f29f732a7ae09a63183d63949bbdd59c61f8ed2a1b70150db"
dependencies = [
"brotli",
"ctor",
@@ -4570,7 +4555,7 @@ dependencies = [
"kuchikiki",
"log",
"memchr",
- "phf 0.10.1",
+ "phf 0.11.2",
"proc-macro2",
"quote",
"semver",
@@ -4578,10 +4563,10 @@ dependencies = [
"serde_json",
"serde_with",
"thiserror",
- "toml 0.5.11",
+ "toml 0.7.8",
"url",
"walkdir",
- "windows 0.39.0",
+ "windows-version",
]
[[package]]
@@ -5477,12 +5462,36 @@ dependencies = [
"windows_x86_64_msvc 0.48.5",
]
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
[[package]]
name = "windows-tokens"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597"
+[[package]]
+name = "windows-version"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75aa004c988e080ad34aff5739c39d0312f4684699d6d71fc8a198d057b8b9b4"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.42.2"
@@ -5495,6 +5504,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.37.0"
@@ -5519,6 +5534,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
[[package]]
name = "windows_i686_gnu"
version = "0.37.0"
@@ -5543,6 +5564,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
[[package]]
name = "windows_i686_msvc"
version = "0.37.0"
@@ -5567,6 +5594,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.37.0"
@@ -5591,6 +5624,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.42.2"
@@ -5603,6 +5642,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.37.0"
@@ -5627,6 +5672,12 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
[[package]]
name = "winnow"
version = "0.5.19"
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index d6eaa29d..86374407 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -32,15 +32,19 @@ sqlx = { version = "0.7.2", features = ["sqlite", "runtime-tokio-rustls", "json"
tauri = { version = "1.3", features = [
"config-toml",
"devtools",
+ "dialog-open",
+ "dialog-save",
"fs-read-file",
"os-all",
"protocol-asset",
"shell-open",
"updater",
- "window-start-dragging",
- "dialog-open",
- "dialog-save",
+ "window-close",
+ "window-maximize",
+ "window-minimize",
"window-set-title",
+ "window-start-dragging",
+ "window-unmaximize",
] }
tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
tauri-plugin-log = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1", features = ["colored"] }
diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index c0efb33f..33785175 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -860,6 +860,7 @@ fn create_window(handle: &AppHandle, url: Option<&str>) -> Window {
100.0 + random::() * 30.0,
100.0 + random::() * 30.0,
)
+ .decorations(false)
.title(handle.package_info().name.to_string());
// Add macOS-only things
@@ -868,6 +869,7 @@ fn create_window(handle: &AppHandle, url: Option<&str>) -> Window {
win_builder = win_builder
.menu(app_menu)
.hidden_title(true)
+ .decoratons(true)
.title_bar_style(TitleBarStyle::Overlay);
}
diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
index 0563a91a..cbafc771 100644
--- a/src-tauri/tauri.conf.json
+++ b/src-tauri/tauri.conf.json
@@ -36,7 +36,11 @@
},
"window": {
"startDragging": true,
- "setTitle": true
+ "setTitle": true,
+ "minimize": true,
+ "maximize": true,
+ "unmaximize": true,
+ "close": true
},
"dialog": {
"all": false,
diff --git a/src-web/components/Workspace.tsx b/src-web/components/Workspace.tsx
index 4b6480ba..110d72f2 100644
--- a/src-web/components/Workspace.tsx
+++ b/src-web/components/Workspace.tsx
@@ -178,7 +178,7 @@ function HeaderSize({ className, ...props }: HeaderSizeProps) {
className={classNames(
className,
'h-md pt-[1px] flex items-center w-full pr-3 border-b',
- platform?.osType === 'Darwin' && 'pl-20',
+ platform?.osType === 'Darwin' ? 'pl-20' : 'pl-1'
)}
{...props}
/>
diff --git a/src-web/components/WorkspaceHeader.tsx b/src-web/components/WorkspaceHeader.tsx
index 95d4ed2d..a4065c1d 100644
--- a/src-web/components/WorkspaceHeader.tsx
+++ b/src-web/components/WorkspaceHeader.tsx
@@ -7,12 +7,16 @@ import { RecentRequestsDropdown } from './RecentRequestsDropdown';
import { SettingsDropdown } from './SettingsDropdown';
import { SidebarActions } from './SidebarActions';
import { WorkspaceActionsDropdown } from './WorkspaceActionsDropdown';
+import { useOsInfo } from '../hooks/useOsInfo';
+import { Button } from './core/Button';
+import { appWindow } from '@tauri-apps/api/window';
interface Props {
className?: string;
}
export const WorkspaceHeader = memo(function WorkspaceHeader({ className }: Props) {
+ const osInfo = useOsInfo();
return (
+ {osInfo?.osType !== 'Darwin' && (
+
+
+
+
+
+ )}
);
});
diff --git a/src-web/hooks/useHotKey.ts b/src-web/hooks/useHotKey.ts
index 17cea992..7d7df3e8 100644
--- a/src-web/hooks/useHotKey.ts
+++ b/src-web/hooks/useHotKey.ts
@@ -1,8 +1,8 @@
-import type { OsType } from '@tauri-apps/api/os';
-import { useEffect, useRef } from 'react';
-import { capitalize } from '../lib/capitalize';
-import { debounce } from '../lib/debounce';
-import { useOsInfo } from './useOsInfo';
+import type {OsType} from '@tauri-apps/api/os';
+import {useEffect, useRef} from 'react';
+import {capitalize} from '../lib/capitalize';
+import {debounce} from '../lib/debounce';
+import {useOsInfo} from './useOsInfo';
export type HotkeyAction =
| 'request.send'
@@ -87,6 +87,8 @@ export function useAnyHotkey(
currentKeys.current.add(normalizeKey(e.key, os));
+ console.log("HOTKEY", e.key);
+
for (const [hkAction, hkKeys] of Object.entries(hotkeys) as [HotkeyAction, string[]][]) {
for (const hkKey of hkKeys) {
const keys = hkKey.split('+');
diff --git a/src-web/main.css b/src-web/main.css
index c3a49846..7f8ed1f9 100644
--- a/src-web/main.css
+++ b/src-web/main.css
@@ -6,7 +6,11 @@
html,
body,
#root {
- @apply w-full h-full overflow-hidden bg-gray-50 text-gray-900;
+ @apply w-full h-full;
+ }
+
+ #root {
+ @apply bg-gray-50 text-gray-900 overflow-hidden rounded-lg;
}
/* Setup default transitions for elements */