on main help sign in
fix: start filepicker in cwd instead of os.Homedir
commit4937409a45e202a16e85ad44f8ffceb236ce525c authorTai Groot <tai@taigrr.com> dateWed 16 Jul 2025, 08:01 (1 year ago) parentacf354e
3 files changed+19−3
internal/app/app.go+5 internal/tui/components/dialogs/filepicker/filepicker.go+13−2 internal/tui/tui.go+1−1
internal/app/app.go+5
@@ -92,6 +92,11 @@ func New(ctx context.Context, conn *sql.DB, cfg *config.Config) (*App, error) {
9292 return app, nil
9393}
9494
95+// Config returns the application configuration.
96+func (app *App) Config() *config.Config {
97+ return app.config
98+}
99+
95100// RunNonInteractive handles the execution flow when a prompt is provided via CLI flag.
96101func (app *App) RunNonInteractive(ctx context.Context, prompt string, quiet bool) error {
97102 slog.Info("Running in non-interactive mode")
internal/tui/components/dialogs/filepicker/filepicker.go+13−2
@@ -45,11 +45,22 @@ type model struct {
4545 help help.Model
4646}
4747
48−func NewFilePickerCmp() FilePicker {
48+func NewFilePickerCmp(workingDir string) FilePicker {
4949 t := styles.CurrentTheme()
5050 fp := filepicker.New()
5151 fp.AllowedTypes = []string{".jpg", ".jpeg", ".png"}
52− fp.CurrentDirectory, _ = os.UserHomeDir()
52+
53+ if workingDir != "" {
54+ fp.CurrentDirectory = workingDir
55+ } else {
56+ // Fallback to current working directory, then home directory
57+ if cwd, err := os.Getwd(); err == nil {
58+ fp.CurrentDirectory = cwd
59+ } else {
60+ fp.CurrentDirectory, _ = os.UserHomeDir()
61+ }
62+ }
63+
5364 fp.ShowPermissions = false
5465 fp.ShowSize = false
5566 fp.AutoHeight = false
internal/tui/tui.go+1−1
@@ -204,7 +204,7 @@ func (a *appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
204204 return a, util.CmdHandler(dialogs.CloseDialogMsg{})
205205 }
206206 return a, util.CmdHandler(dialogs.OpenDialogMsg{
207− Model: filepicker.NewFilePickerCmp(),
207+ Model: filepicker.NewFilePickerCmp(a.app.Config().WorkingDir()),
208208 })
209209 // Permissions
210210 case pubsub.Event[permission.PermissionRequest]: