summaryrefslogtreecommitdiff
path: root/internal/client/tui/compose.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-08-03 14:09:21 +0300
committerPaul Buetow <paul@buetow.org>2024-08-03 14:09:21 +0300
commit5664c4ad14fca54a42356541847e6ae3f9613a87 (patch)
tree297757ae2f4038dd649513c40e28f80f755c8690 /internal/client/tui/compose.go
parenta10d20b6ce8e462aa1b5c5ffb3ce17111e4faf64 (diff)
can compose and submit in one go
Diffstat (limited to 'internal/client/tui/compose.go')
-rw-r--r--internal/client/tui/compose.go29
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
})
}