diff options
| author | Paul Buetow <paul@buetow.org> | 2024-08-03 14:09:21 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-08-03 14:09:21 +0300 |
| commit | 5664c4ad14fca54a42356541847e6ae3f9613a87 (patch) | |
| tree | 297757ae2f4038dd649513c40e28f80f755c8690 /internal/client/tui/compose.go | |
| parent | a10d20b6ce8e462aa1b5c5ffb3ce17111e4faf64 (diff) | |
can compose and submit in one go
Diffstat (limited to 'internal/client/tui/compose.go')
| -rw-r--r-- | internal/client/tui/compose.go | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/internal/client/tui/compose.go b/internal/client/tui/compose.go index d918677..c2d5c16 100644 --- a/internal/client/tui/compose.go +++ b/internal/client/tui/compose.go @@ -1,7 +1,9 @@ package tui import ( + "context" "fmt" + "log" "os" "os/exec" "time" @@ -10,21 +12,34 @@ import ( tea "github.com/charmbracelet/bubbletea" ) -func composeAction(conf config.ClientConfig, queue bool) tea.Cmd { +type composePostAction int + +const ( + noPostAction composePostAction = iota + queueAfterCompose + submitAfterCompose +) + +func composeAction(ctx context.Context, conf config.ClientConfig, postAction composePostAction) tea.Cmd { err := ensureDirectoryExists(conf.DataDir) composeFile := fmt.Sprintf("%s/%s", conf.DataDir, conf.ComposeFile) + log.Println("Composing", composeFile) return openEditor(conf.Editor, composeFile, func() error { if err != nil { return err } - // ye - if !queue { - return nil + + switch postAction { + case submitAfterCompose: + return submitEntryNoCmd(ctx, conf, composeFile) + case queueAfterCompose: + timestamp := time.Now().Format("20060102-150405") + queuedFile := fmt.Sprintf("%s/queued-%s.txt", conf.DataDir, timestamp) + return os.Rename(composeFile, queuedFile) } - timestamp := time.Now().Format("20060102-150405") - queuedFile := fmt.Sprintf("%s/queued-%s.txt", conf.DataDir, timestamp) - return os.Rename(composeFile, queuedFile) + + return nil }) } |
