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:
parent
45bca3b96f
commit
bfc63bb595
3 changed files with 44 additions and 7 deletions
|
|
@ -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: [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue