From 4937409a45e202a16e85ad44f8ffceb236ce525c Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Wed, 16 Jul 2025 08:01:49 -0700 Subject: [PATCH] fix: start filepicker in cwd instead of os.Homedir --- internal/app/app.go | 5 +++++ .../components/dialogs/filepicker/filepicker.go | 15 +++++++++++++-- internal/tui/tui.go | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/internal/app/app.go b/internal/app/app.go index f15b3361fb1d8117dc8cdac2a24ba66e1fcee69b..654cb87ca643530eb030195f5b45679ee18af8e6 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -92,6 +92,11 @@ func New(ctx context.Context, conn *sql.DB, cfg *config.Config) (*App, error) { return app, nil } +// Config returns the application configuration. +func (app *App) Config() *config.Config { + return app.config +} + // RunNonInteractive handles the execution flow when a prompt is provided via CLI flag. func (app *App) RunNonInteractive(ctx context.Context, prompt string, quiet bool) error { slog.Info("Running in non-interactive mode") diff --git a/internal/tui/components/dialogs/filepicker/filepicker.go b/internal/tui/components/dialogs/filepicker/filepicker.go index aa8956fee9a184a906a4059080fc1557d13414e1..83a7e57236a89f50ae90ecd2e7f25aa217f3d5f4 100644 --- a/internal/tui/components/dialogs/filepicker/filepicker.go +++ b/internal/tui/components/dialogs/filepicker/filepicker.go @@ -45,11 +45,22 @@ type model struct { help help.Model } -func NewFilePickerCmp() FilePicker { +func NewFilePickerCmp(workingDir string) FilePicker { t := styles.CurrentTheme() fp := filepicker.New() fp.AllowedTypes = []string{".jpg", ".jpeg", ".png"} - fp.CurrentDirectory, _ = os.UserHomeDir() + + if workingDir != "" { + fp.CurrentDirectory = workingDir + } else { + // Fallback to current working directory, then home directory + if cwd, err := os.Getwd(); err == nil { + fp.CurrentDirectory = cwd + } else { + fp.CurrentDirectory, _ = os.UserHomeDir() + } + } + fp.ShowPermissions = false fp.ShowSize = false fp.AutoHeight = false diff --git a/internal/tui/tui.go b/internal/tui/tui.go index 811c18122687464d216e33f093aba60bbf5221c1..d7e9f6dbd2a1c9ff3391b7675494ec2c0e38da10 100644 --- a/internal/tui/tui.go +++ b/internal/tui/tui.go @@ -204,7 +204,7 @@ func (a *appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return a, util.CmdHandler(dialogs.CloseDialogMsg{}) } return a, util.CmdHandler(dialogs.OpenDialogMsg{ - Model: filepicker.NewFilePickerCmp(), + Model: filepicker.NewFilePickerCmp(a.app.Config().WorkingDir()), }) // Permissions case pubsub.Event[permission.PermissionRequest]: