diff --git a/bun.lock b/bun.lock index c1e4337..b2e32f3 100644 --- a/bun.lock +++ b/bun.lock @@ -15,6 +15,7 @@ "@tanstack/react-router": "^1.151.0", "@tanstack/react-router-ssr-query": "^1.151.0", "@tanstack/react-start": "^1.151.0", + "@tauri-apps/api": "^2.9.1", "drizzle-orm": "^0.45.1", "drizzle-zod": "^0.8.3", "postgres": "^3.4.8", @@ -533,6 +534,8 @@ "@tanstack/virtual-file-routes": ["@tanstack/virtual-file-routes@1.145.4", "", {}, "sha512-CI75JrfqSluhdGwLssgVeQBaCphgfkMQpi8MCY3UJX1hoGzXa8kHYJcUuIFMOLs1q7zqHy++EVVtMK03osR5wQ=="], + "@tauri-apps/api": ["@tauri-apps/api@2.9.1", "", {}, "sha512-IGlhP6EivjXHepbBic618GOmiWe4URJiIeZFlB7x3czM0yDHHYviH1Xvoiv4FefdkQtn6v7TuwWCRfOGdnVUGw=="], + "@tauri-apps/cli": ["@tauri-apps/cli@2.9.6", "", { "optionalDependencies": { "@tauri-apps/cli-darwin-arm64": "2.9.6", "@tauri-apps/cli-darwin-x64": "2.9.6", "@tauri-apps/cli-linux-arm-gnueabihf": "2.9.6", "@tauri-apps/cli-linux-arm64-gnu": "2.9.6", "@tauri-apps/cli-linux-arm64-musl": "2.9.6", "@tauri-apps/cli-linux-riscv64-gnu": "2.9.6", "@tauri-apps/cli-linux-x64-gnu": "2.9.6", "@tauri-apps/cli-linux-x64-musl": "2.9.6", "@tauri-apps/cli-win32-arm64-msvc": "2.9.6", "@tauri-apps/cli-win32-ia32-msvc": "2.9.6", "@tauri-apps/cli-win32-x64-msvc": "2.9.6" }, "bin": { "tauri": "tauri.js" } }, "sha512-3xDdXL5omQ3sPfBfdC8fCtDKcnyV7OqyzQgfyT5P3+zY6lcPqIYKQBvUasNvppi21RSdfhy44ttvJmftb0PCDw=="], "@tauri-apps/cli-darwin-arm64": ["@tauri-apps/cli-darwin-arm64@2.9.6", "", { "os": "darwin", "cpu": "arm64" }, "sha512-gf5no6N9FCk1qMrti4lfwP77JHP5haASZgVbBgpZG7BUepB3fhiLCXGUK8LvuOjP36HivXewjg72LTnPDScnQQ=="], diff --git a/package.json b/package.json index ad0f2b3..ee32432 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "@tanstack/react-router": "^1.151.0", "@tanstack/react-router-ssr-query": "^1.151.0", "@tanstack/react-start": "^1.151.0", + "@tauri-apps/api": "^2.9.1", "drizzle-orm": "^0.45.1", "drizzle-zod": "^0.8.3", "postgres": "^3.4.8", diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index f50fbf4..71fbab6 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -3,8 +3,17 @@ "identifier": "default", "description": "Capability for the main window", "windows": ["main"], + "local": true, + "remote": { + "urls": [ + "http://localhost:*", + "http://127.0.0.1:*", + "http{s}?://localhost(:\\d+)?/*" + ] + }, "permissions": [ "core:default", + "core:window:allow-set-title", { "identifier": "shell:allow-execute", "allow": [ diff --git a/src/routes/index.tsx b/src/routes/index.tsx index e6647d3..ab7ac88 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -1,7 +1,9 @@ import { useMutation, useSuspenseQuery } from '@tanstack/react-query' import { createFileRoute } from '@tanstack/react-router' +import { isTauri } from '@tauri-apps/api/core' +import { getCurrentWindow } from '@tauri-apps/api/window' import type { ChangeEventHandler, FormEventHandler } from 'react' -import { useState } from 'react' +import { useEffect, useState } from 'react' import { orpc } from '@/orpc' export const Route = createFileRoute('/')({ @@ -19,6 +21,11 @@ function Todos() { const updateMutation = useMutation(orpc.todo.update.mutationOptions()) const deleteMutation = useMutation(orpc.todo.remove.mutationOptions()) + useEffect(() => { + if (!isTauri()) return + getCurrentWindow().setTitle('待办事项') + }, []) + const handleCreateTodo: FormEventHandler = (e) => { e.preventDefault() if (newTodoTitle.trim()) {