feat: upgrade tauri

This commit is contained in:
reya 2024-02-24 18:26:20 +07:00
parent 88a6c3c81f
commit fe73e1428b
29 changed files with 15403 additions and 1266 deletions

View File

@ -15,10 +15,10 @@
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-checkbox": "^1.0.4",
"@radix-ui/react-collapsible": "^1.0.3", "@radix-ui/react-collapsible": "^1.0.3",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"@tanstack/react-query-persist-client": "^5.22.2", "@tanstack/react-query-persist-client": "^5.22.2",
"@tanstack/react-router": "^1.16.2", "@tanstack/react-router": "^1.16.6",
"i18next": "^23.8.2", "i18next": "^23.10.0",
"i18next-resources-to-backend": "^1.2.0", "i18next-resources-to-backend": "^1.2.0",
"idb-keyval": "^6.2.1", "idb-keyval": "^6.2.1",
"react": "^18.2.0", "react": "^18.2.0",
@ -26,23 +26,23 @@
"react-i18next": "^14.0.5", "react-i18next": "^14.0.5",
"slate": "^0.101.5", "slate": "^0.101.5",
"slate-react": "^0.101.6", "slate-react": "^0.101.6",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@tanstack/router-devtools": "^1.16.2", "@tanstack/router-devtools": "^1.16.6",
"@tanstack/router-vite-plugin": "^1.16.3", "@tanstack/router-vite-plugin": "^1.16.5",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"@types/react-dom": "^18.2.19", "@types/react-dom": "^18.2.19",
"@vitejs/plugin-react-swc": "^3.6.0", "@vitejs/plugin-react-swc": "^3.6.0",
"autoprefixer": "^10.4.17", "autoprefixer": "^10.4.17",
"postcss": "^8.4.35", "postcss": "^8.4.35",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3", "typescript": "^5.3.3",
"vite": "^5.1.2", "vite": "^5.1.4",
"vite-plugin-top-level-await": "^1.4.1", "vite-plugin-top-level-await": "^1.4.1",
"vite-tsconfig-paths": "^4.3.1" "vite-tsconfig-paths": "^4.3.1"
} }

View File

@ -13,7 +13,7 @@
"@astrojs/check": "^0.4.1", "@astrojs/check": "^0.4.1",
"@astrojs/tailwind": "^5.1.0", "@astrojs/tailwind": "^5.1.0",
"@fontsource/geist-mono": "^5.0.1", "@fontsource/geist-mono": "^5.0.1",
"astro": "^4.3.7", "astro": "^4.4.4",
"astro-seo-meta": "^4.1.0", "astro-seo-meta": "^4.1.0",
"astro-seo-schema": "^4.0.0", "astro-seo-schema": "^4.0.0",
"schema-dts": "^1.1.2", "schema-dts": "^1.1.2",

View File

@ -11,7 +11,7 @@
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^1.5.3", "@biomejs/biome": "^1.5.3",
"@tauri-apps/cli": "2.0.0-beta.1", "@tauri-apps/cli": "2.0.0-beta.4",
"turbo": "^1.12.4" "turbo": "^1.12.4"
}, },
"packageManager": "pnpm@8.9.0", "packageManager": "pnpm@8.9.0",
@ -19,18 +19,18 @@
"node": ">=18" "node": ">=18"
}, },
"dependencies": { "dependencies": {
"@tauri-apps/api": "2.0.0-beta.0", "@tauri-apps/api": "2.0.0-beta.3",
"@tauri-apps/plugin-autostart": "2.0.0-beta.0", "@tauri-apps/plugin-autostart": "2.0.0-beta.1",
"@tauri-apps/plugin-clipboard-manager": "2.0.0-beta.0", "@tauri-apps/plugin-clipboard-manager": "2.0.0-beta.1",
"@tauri-apps/plugin-dialog": "2.0.0-beta.0", "@tauri-apps/plugin-dialog": "2.0.0-beta.1",
"@tauri-apps/plugin-fs": "2.0.0-beta.0", "@tauri-apps/plugin-fs": "2.0.0-beta.1",
"@tauri-apps/plugin-http": "2.0.0-beta.0", "@tauri-apps/plugin-http": "2.0.0-beta.1",
"@tauri-apps/plugin-notification": "2.0.0-beta.0", "@tauri-apps/plugin-notification": "2.0.0-beta.1",
"@tauri-apps/plugin-os": "2.0.0-beta.0", "@tauri-apps/plugin-os": "2.0.0-beta.1",
"@tauri-apps/plugin-process": "2.0.0-beta.0", "@tauri-apps/plugin-process": "2.0.0-beta.1",
"@tauri-apps/plugin-shell": "2.0.0-beta.0", "@tauri-apps/plugin-shell": "2.0.0-beta.1",
"@tauri-apps/plugin-sql": "2.0.0-beta.0", "@tauri-apps/plugin-sql": "2.0.0-beta.1",
"@tauri-apps/plugin-updater": "2.0.0-beta.0", "@tauri-apps/plugin-updater": "2.0.0-beta.1",
"@tauri-apps/plugin-upload": "2.0.0-beta.0" "@tauri-apps/plugin-upload": "2.0.0-beta.1"
} }
} }

View File

@ -4,7 +4,7 @@
"private": true, "private": true,
"main": "./src/index.ts", "main": "./src/index.ts",
"dependencies": { "dependencies": {
"@getalby/sdk": "^3.3.0", "@getalby/sdk": "^3.3.1",
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@radix-ui/react-avatar": "^1.0.4", "@radix-ui/react-avatar": "^1.0.4",
@ -14,27 +14,27 @@
"@radix-ui/react-hover-card": "^1.0.7", "@radix-ui/react-hover-card": "^1.0.7",
"@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-popover": "^1.0.7",
"@radix-ui/react-tooltip": "^1.0.7", "@radix-ui/react-tooltip": "^1.0.7",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"get-urls": "^12.1.0", "get-urls": "^12.1.0",
"jotai": "^2.6.4", "jotai": "^2.6.5",
"media-chrome": "^2.2.4", "media-chrome": "^2.2.5",
"minidenticons": "^4.2.0", "minidenticons": "^4.2.0",
"nanoid": "^5.0.5", "nanoid": "^5.0.6",
"qrcode.react": "^3.1.0", "qrcode.react": "^3.1.0",
"re-resizable": "^6.9.11", "re-resizable": "^6.9.11",
"react": "^18.2.0", "react": "^18.2.0",
"react-currency-input-field": "^3.7.0", "react-currency-input-field": "^3.8.0",
"react-i18next": "^14.0.5", "react-i18next": "^14.0.5",
"react-string-replace": "^1.1.1", "react-string-replace": "^1.1.1",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"string-strip-html": "^13.4.6", "string-strip-html": "^13.4.6",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -1,3 +1,4 @@
import { WebviewWindow } from "@tauri-apps/api/webviewWindow";
import type { import type {
Account, Account,
Event, Event,
@ -6,7 +7,6 @@ import type {
Metadata, Metadata,
} from "@lume/types"; } from "@lume/types";
import { invoke } from "@tauri-apps/api/core"; import { invoke } from "@tauri-apps/api/core";
import { WebviewWindow } from "@tauri-apps/api/webview";
import { open } from "@tauri-apps/plugin-dialog"; import { open } from "@tauri-apps/plugin-dialog";
import { readFile } from "@tauri-apps/plugin-fs"; import { readFile } from "@tauri-apps/plugin-fs";
import { generateContentTags } from "@lume/utils"; import { generateContentTags } from "@lume/utils";
@ -369,7 +369,7 @@ export class Ark {
"mov", "mov",
]; ];
let selected = const selected =
filePath || filePath ||
( (
await open({ await open({

View File

@ -8,7 +8,7 @@
}, },
"devDependencies": { "devDependencies": {
"@lume/tsconfig": "workspace:*", "@lume/tsconfig": "workspace:*",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,16 +8,16 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0", "react": "^18.2.0",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -8,14 +8,14 @@
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/ui": "workspace:^", "@lume/ui": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"react": "^18.2.0" "react": "^18.2.0"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -4,11 +4,11 @@
"private": true, "private": true,
"main": "./src/index.ts", "main": "./src/index.ts",
"dependencies": { "dependencies": {
"@getalby/sdk": "^3.3.0", "@getalby/sdk": "^3.3.1",
"@lume/ark": "workspace:^", "@lume/ark": "workspace:^",
"@lume/icons": "workspace:^", "@lume/icons": "workspace:^",
"@lume/utils": "workspace:^", "@lume/utils": "workspace:^",
"@nostr-dev-kit/ndk": "^2.4.1", "@nostr-dev-kit/ndk": "^2.5.0",
"@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-accordion": "^1.1.2",
"@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-alert-dialog": "^1.0.5",
"@radix-ui/react-avatar": "^1.0.4", "@radix-ui/react-avatar": "^1.0.4",
@ -18,37 +18,37 @@
"@radix-ui/react-hover-card": "^1.0.7", "@radix-ui/react-hover-card": "^1.0.7",
"@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-popover": "^1.0.7",
"@radix-ui/react-tooltip": "^1.0.7", "@radix-ui/react-tooltip": "^1.0.7",
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"@tanstack/react-router": "^1.16.2", "@tanstack/react-router": "^1.16.6",
"framer-motion": "^11.0.5", "framer-motion": "^11.0.6",
"get-urls": "^12.1.0", "get-urls": "^12.1.0",
"jotai": "^2.6.4", "jotai": "^2.6.5",
"media-chrome": "^2.2.4", "media-chrome": "^2.2.5",
"minidenticons": "^4.2.0", "minidenticons": "^4.2.0",
"nanoid": "^5.0.5", "nanoid": "^5.0.6",
"qrcode.react": "^3.1.0", "qrcode.react": "^3.1.0",
"re-resizable": "^6.9.11", "re-resizable": "^6.9.11",
"react": "^18.2.0", "react": "^18.2.0",
"react-currency-input-field": "^3.7.0", "react-currency-input-field": "^3.8.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-hook-form": "^7.50.1", "react-hook-form": "^7.50.1",
"react-hotkeys-hook": "^4.5.0", "react-hotkeys-hook": "^4.5.0",
"react-i18next": "^14.0.5", "react-i18next": "^14.0.5",
"react-router-dom": "^6.22.0", "react-router-dom": "^6.22.1",
"react-string-replace": "^1.1.1", "react-string-replace": "^1.1.1",
"slate": "^0.101.5", "slate": "^0.101.5",
"slate-react": "^0.101.6", "slate-react": "^0.101.6",
"sonner": "^1.4.0", "sonner": "^1.4.1",
"string-strip-html": "^13.4.6", "string-strip-html": "^13.4.6",
"uqr": "^0.1.2", "uqr": "^0.1.2",
"use-debounce": "^10.0.0", "use-debounce": "^10.0.0",
"virtua": "^0.27.0" "virtua": "^0.27.5"
}, },
"devDependencies": { "devDependencies": {
"@lume/tailwindcss": "workspace:^", "@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"
} }

View File

@ -1,64 +1,64 @@
import { CheckCircleIcon, DownloadIcon } from "@lume/icons"; import { CheckCircleIcon, DownloadIcon } from "@lume/icons";
import { downloadDir } from "@tauri-apps/api/path"; import { downloadDir } from "@tauri-apps/api/path";
import { WebviewWindow } from "@tauri-apps/api/webview"; import { WebviewWindow } from "@tauri-apps/api/webviewWindow";
import { download } from "@tauri-apps/plugin-upload"; import { download } from "@tauri-apps/plugin-upload";
import { SyntheticEvent, useState } from "react"; import { SyntheticEvent, useState } from "react";
export function ImagePreview({ url }: { url: string }) { export function ImagePreview({ url }: { url: string }) {
const [downloaded, setDownloaded] = useState(false); const [downloaded, setDownloaded] = useState(false);
const downloadImage = async (e: { stopPropagation: () => void }) => { const downloadImage = async (e: { stopPropagation: () => void }) => {
try { try {
e.stopPropagation(); e.stopPropagation();
const downloadDirPath = await downloadDir(); const downloadDirPath = await downloadDir();
const filename = url.substring(url.lastIndexOf("/") + 1); const filename = url.substring(url.lastIndexOf("/") + 1);
await download(url, `${downloadDirPath}/${filename}`); await download(url, `${downloadDirPath}/${filename}`);
setDownloaded(true); setDownloaded(true);
} catch (e) { } catch (e) {
console.error(e); console.error(e);
} }
}; };
const open = async () => { const open = async () => {
const name = new URL(url).pathname.split("/").pop(); const name = new URL(url).pathname.split("/").pop();
return new WebviewWindow("image-viewer", { return new WebviewWindow("image-viewer", {
url, url,
title: name, title: name,
}); });
}; };
const fallback = (event: SyntheticEvent<HTMLImageElement, Event>) => { const fallback = (event: SyntheticEvent<HTMLImageElement, Event>) => {
event.currentTarget.src = "/fallback-image.jpg"; event.currentTarget.src = "/fallback-image.jpg";
}; };
return ( return (
// biome-ignore lint/a11y/useKeyWithClickEvents: <explanation> // biome-ignore lint/a11y/useKeyWithClickEvents: <explanation>
<div <div
onClick={open} onClick={open}
className="group relative my-1 rounded-xl ring-1 ring-black/5 dark:ring-white/5" className="group relative my-1 rounded-xl ring-1 ring-black/5 dark:ring-white/5"
> >
<img <img
src={url} src={url}
alt={url} alt={url}
loading="lazy" loading="lazy"
decoding="async" decoding="async"
style={{ contentVisibility: "auto" }} style={{ contentVisibility: "auto" }}
onError={fallback} onError={fallback}
className="h-auto w-full rounded-xl object-cover" className="h-auto w-full rounded-xl object-cover"
/> />
<button <button
type="button" type="button"
onClick={(e) => downloadImage(e)} onClick={(e) => downloadImage(e)}
className="absolute right-2 top-2 z-10 hidden size-10 items-center justify-center rounded-lg bg-white/20 text-black/70 backdrop-blur-2xl hover:bg-blue-500 hover:text-white group-hover:inline-flex" className="absolute right-2 top-2 z-10 hidden size-10 items-center justify-center rounded-lg bg-white/20 text-black/70 backdrop-blur-2xl hover:bg-blue-500 hover:text-white group-hover:inline-flex"
> >
{downloaded ? ( {downloaded ? (
<CheckCircleIcon className="size-5" /> <CheckCircleIcon className="size-5" />
) : ( ) : (
<DownloadIcon className="size-5" /> <DownloadIcon className="size-5" />
)} )}
</button> </button>
</div> </div>
); );
} }

View File

@ -8,11 +8,11 @@
"access": "public" "access": "public"
}, },
"dependencies": { "dependencies": {
"@tanstack/react-query": "^5.20.5", "@tanstack/react-query": "^5.22.2",
"clsx": "^2.1.0", "clsx": "^2.1.0",
"dayjs": "^1.11.10", "dayjs": "^1.11.10",
"jotai": "^2.6.4", "jotai": "^2.6.5",
"nostr-tools": "^2.1.9", "nostr-tools": "^2.3.1",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"slate": "^0.101.5", "slate": "^0.101.5",
@ -21,7 +21,7 @@
"devDependencies": { "devDependencies": {
"@lume/tsconfig": "workspace:^", "@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^", "@lume/types": "workspace:^",
"@types/react": "^18.2.55", "@types/react": "^18.2.58",
"@types/react-dom": "^18.2.19", "@types/react-dom": "^18.2.19",
"tailwind-merge": "^2.2.1", "tailwind-merge": "^2.2.1",
"typescript": "^5.3.3" "typescript": "^5.3.3"

File diff suppressed because it is too large Load Diff

731
src-tauri/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,44 +1,38 @@
[package] [package]
name = "lume" name = "lume"
version = "3.0.0" version = "3.0.0"
description = "nostr client" description = "nostr client"
authors = ["npub1zfss807aer0j26mwp2la0ume0jqde3823rmu97ra6sgyyg956e0s6xw445"] authors = ["npub1zfss807aer0j26mwp2la0ume0jqde3823rmu97ra6sgyyg956e0s6xw445"]
repository = "https://github.com/lumehq/lume" repository = "https://github.com/lumehq/lume"
edition = "2021" edition = "2021"
rust-version = "1.70" rust-version = "1.70"
[build-dependencies] [build-dependencies]
tauri-build = { version = "2.0.0-beta", features = [] } tauri-build = { version = "2.0.0-beta", features = [] }
[dependencies] [dependencies]
nostr-sdk = { version = "0.28", features = ["sqlite"] } nostr-sdk = { version = "0.28", features = ["sqlite"] }
tokio = { version = "1", features = ["full"] } tokio = { version = "1", features = ["full"] }
serde_json = "1.0" serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
tauri = { version = "2.0.0-beta", features = [ tauri = { version = "2.0.0-beta", features = ["tray-icon", "macos-private-api", "native-tls-vendored", "protocol-asset"] }
"tray-icon", tauri-plugin-cli = "2.0.0-beta"
"macos-private-api",
"native-tls-vendored",
"protocol-asset",
] }
tauri-plugin-cli = "2.0.0-beta"
tauri-plugin-clipboard-manager = "2.0.0-beta" tauri-plugin-clipboard-manager = "2.0.0-beta"
tauri-plugin-dialog = "2.0.0-beta" tauri-plugin-dialog = "2.0.0-beta"
tauri-plugin-fs = "2.0.0-beta" tauri-plugin-fs = "2.0.0-beta"
tauri-plugin-http = "2.0.0-beta" tauri-plugin-http = "2.0.0-beta"
tauri-plugin-notification = "2.0.0-beta" tauri-plugin-notification = "2.0.0-beta"
tauri-plugin-os = "2.0.0-beta" tauri-plugin-os = "2.0.0-beta"
tauri-plugin-process = "2.0.0-beta" tauri-plugin-process = "2.0.0-beta"
tauri-plugin-shell = "2.0.0-beta" tauri-plugin-shell = "2.0.0-beta"
tauri-plugin-updater = "2.0.0-beta" tauri-plugin-updater = "2.0.0-beta"
tauri-plugin-autostart = "2.0.0-beta" tauri-plugin-autostart = "2.0.0-beta"
tauri-plugin-store = "2.0.0-beta" tauri-plugin-store = "2.0.0-beta"
tauri-plugin-upload = "2.0.0-beta" tauri-plugin-upload = "2.0.0-beta"
tauri-plugin-window-state = "2.0.0-beta" tauri-plugin-window-state = "2.0.0-beta"
tauri-plugin-theme = { git = "https://github.com/wyhaya/tauri-plugin-theme" } webpage = { version = "2.0", features = ["serde"] }
webpage = { version = "2.0", features = ["serde"] } keyring = "2"
keyring = "2" age = "0.10.0"
age = "0.10.0"
[features] [features]
# by default Tauri runs in production mode # by default Tauri runs in production mode
@ -48,17 +42,14 @@ default = ["custom-protocol"]
# DO NOT remove this # DO NOT remove this
custom-protocol = ["tauri/custom-protocol"] custom-protocol = ["tauri/custom-protocol"]
[profile.dev.package."*"]
opt-level = 3
[profile.release] [profile.release]
codegen-units = 1 codegen-units = 1
lto = true lto = true
panic = "abort" panic = "abort"
incremental = false incremental = false
opt-level = 3 opt-level = "z"
strip = true strip = true
rpath = false rpath = false
debug = false debug = false
debug-assertions = false debug-assertions = false
overflow-checks = false overflow-checks = false

View File

@ -20,8 +20,6 @@
"resources:default", "resources:default",
"menu:default", "menu:default",
"tray:default", "tray:default",
"theme:allow-set-theme",
"theme:allow-get-theme",
"notification:allow-is-permission-granted", "notification:allow-is-permission-granted",
"notification:allow-request-permission", "notification:allow-request-permission",
"notification:default", "notification:default",

View File

@ -1 +1 @@
{"desktop-capability":{"identifier":"desktop-capability","description":"Capability for the desktop","context":"local","windows":["main","splash","editor","settings","event-*","user-*","column-*"],"permissions":["path:default","event:default","window:default","app:default","resources:default","menu:default","tray:default","theme:allow-set-theme","theme:allow-get-theme","notification:allow-is-permission-granted","notification:allow-request-permission","notification:default","os:allow-locale","os:allow-platform","updater:allow-check","updater:default","window:allow-start-dragging","store:allow-get","clipboard-manager:allow-write","clipboard-manager:allow-read","webview:allow-create-webview-window","webview:allow-create-webview","dialog:allow-open","fs:allow-read-file",{"identifier":"http:default","allow":[{"url":"http://**/"},{"url":"https://**/"}]},{"identifier":"fs:allow-read-text-file","allow":[{"path":"$RESOURCE/locales/*"}]}],"platforms":["linux","macOS","windows"]}} {"desktop-capability":{"identifier":"desktop-capability","description":"Capability for the desktop","remote":null,"local":true,"windows":["main","splash","editor","settings","event-*","user-*","column-*"],"permissions":["path:default","event:default","window:default","app:default","resources:default","menu:default","tray:default","notification:allow-is-permission-granted","notification:allow-request-permission","notification:default","os:allow-locale","os:allow-platform","updater:allow-check","updater:default","window:allow-start-dragging","store:allow-get","clipboard-manager:allow-write","clipboard-manager:allow-read","webview:allow-create-webview-window","webview:allow-create-webview","dialog:allow-open","fs:allow-read-file",{"identifier":"http:default","allow":[{"url":"http://**/"},{"url":"https://**/"}]},{"identifier":"fs:allow-read-text-file","allow":[{"path":"$RESOURCE/locales/*"}]}],"platforms":["linux","macOS","windows"]}}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@ pub struct Nostr {
} }
fn main() { fn main() {
let mut ctx = tauri::generate_context!(); let ctx = tauri::generate_context!();
tauri::Builder::default() tauri::Builder::default()
.setup(|app| { .setup(|app| {
let handle = app.handle().clone(); let handle = app.handle().clone();
@ -74,7 +74,6 @@ fn main() {
Ok(()) Ok(())
}) })
.plugin(tauri_plugin_store::Builder::default().build()) .plugin(tauri_plugin_store::Builder::default().build())
.plugin(tauri_plugin_theme::init(ctx.config_mut()))
.plugin(tauri_plugin_clipboard_manager::init()) .plugin(tauri_plugin_clipboard_manager::init())
.plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_dialog::init())
.plugin(tauri_plugin_fs::init()) .plugin(tauri_plugin_fs::init())