From 148d1dee32df4d51c4e81ae9bbcdcb49091218fc Mon Sep 17 00:00:00 2001 From: Iskander Date: Wed, 10 Jun 2026 15:47:28 +0200 Subject: [PATCH] Fix opening project directory not working with BrowserOpenURL function --- app/helpers.go | 20 ++++++++++++++++++++ frontend/package.json.md5 | 2 +- frontend/src/sections/project-info.tsx | 3 ++- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 app/helpers.go diff --git a/app/helpers.go b/app/helpers.go new file mode 100644 index 0000000..a7e84d4 --- /dev/null +++ b/app/helpers.go @@ -0,0 +1,20 @@ +package app + +import ( + "fmt" + "os/exec" + "runtime" +) + +func (a *App) OpenFolder(path string) error { + switch runtime.GOOS { + case "linux": + return exec.Command("xdg-open", path).Start() + case "windows": + return exec.Command("explorer", path).Start() + case "darwin": + return exec.Command("open", path).Start() + default: + return fmt.Errorf("unsupported platform: %s", runtime.GOOS) + } +} diff --git a/frontend/package.json.md5 b/frontend/package.json.md5 index 003983a..02389d2 100755 --- a/frontend/package.json.md5 +++ b/frontend/package.json.md5 @@ -1 +1 @@ -a67b50d360aedef1ac0f8ffc81b6bfc5 \ No newline at end of file +11bd398870ef96d3bf4e2d7bf28d8e0f \ No newline at end of file diff --git a/frontend/src/sections/project-info.tsx b/frontend/src/sections/project-info.tsx index b9cfe00..d8ee3d5 100644 --- a/frontend/src/sections/project-info.tsx +++ b/frontend/src/sections/project-info.tsx @@ -10,6 +10,7 @@ import { import { useNavigate } from '@tanstack/react-router'; import { useCallback, useMemo } from 'react'; import toast from 'react-hot-toast'; +import { OpenFolder } from 'wjs/go/app/App'; import { core } from 'wjs/go/models'; import { BrowserOpenURL } from 'wjs/runtime/runtime'; import { Button } from '~/components/button'; @@ -209,7 +210,7 @@ export function ProjectInfo({ project }: { project: core.Project }) { BrowserOpenURL(`http://${projectDomain}`); }, [projectDomain]); - const openProjectDir = useCallback(() => project.Dir.Valid && BrowserOpenURL(project.Dir.String), [project.Dir]); + const openProjectDir = useCallback(() => project.Dir.Valid && OpenFolder(project.Dir.String), [project.Dir]); const openUpdateProjectDir = useCallback( () => updateProjectDir(project.Name, project.Dir.String),