fix(electrobun): native folder picker dialog replaces inline PathBrowser

- Uses Electrobun's Utils.openFileDialog (canChooseDirectory: true)
- files.pickDirectory + files.homeDir RPC handlers
- ProjectWizard: 📂 button opens native OS dialog
- Removed broken inline PathBrowser (process.env.HOME not in WebView)
This commit is contained in:
Hibryda 2026-03-22 11:38:19 +01:00
parent 45bca3b96f
commit bfc63bb595
3 changed files with 44 additions and 7 deletions

View file

@ -6,7 +6,7 @@
*/
import fs from "fs";
import { BrowserWindow, BrowserView, Updater } from "electrobun/bun";
import { BrowserWindow, BrowserView, Updater, Utils } from "electrobun/bun";
import { PtyClient } from "./pty-client.ts";
import { settingsDb } from "./settings-db.ts";
import { sessionDb } from "./session-db.ts";
@ -128,6 +128,24 @@ const rpc = BrowserView.defineRPC<PtyRPCSchema>({
// Git
...gitHandlers,
// Native folder picker dialog
"files.pickDirectory": async ({ startingFolder }) => {
try {
const paths = await Utils.openFileDialog({
startingFolder: startingFolder || "~/",
canChooseFiles: false,
canChooseDirectory: true,
allowsMultipleSelection: false,
});
return { path: paths?.[0] ?? null };
} catch { return { path: null }; }
},
// Home directory
"files.homeDir": async () => {
return { path: process.env.HOME || "/home" };
},
// Project templates (hardcoded list)
"project.templates": async () => ({
templates: [