summaryrefslogtreecommitdiff
path: root/internal/cli/work.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-04 10:50:07 +0200
committerPaul Buetow <paul@buetow.org>2026-03-04 10:50:07 +0200
commit97aa8a6f666f5f40859c8a9aa4948bde435cf18f (patch)
tree0cb5928cd6a1220607dbf64e234a2522acac2848 /internal/cli/work.go
parentc25c9002f3214e07b041aefa26d5d13c26757839 (diff)
Rename project to timesamurai and release v0.5.0v0.5.0
Diffstat (limited to 'internal/cli/work.go')
-rw-r--r--internal/cli/work.go46
1 files changed, 40 insertions, 6 deletions
diff --git a/internal/cli/work.go b/internal/cli/work.go
index 22f0406..d6b989e 100644
--- a/internal/cli/work.go
+++ b/internal/cli/work.go
@@ -10,10 +10,10 @@ import (
"strings"
"time"
- "codeberg.org/snonux/timr/internal/duration"
- "codeberg.org/snonux/timr/internal/timefmt"
- timrTimer "codeberg.org/snonux/timr/internal/timer"
- "codeberg.org/snonux/timr/internal/worktime"
+ "codeberg.org/snonux/timesamurai/internal/duration"
+ "codeberg.org/snonux/timesamurai/internal/timefmt"
+ timesamuraiTimer "codeberg.org/snonux/timesamurai/internal/timer"
+ "codeberg.org/snonux/timesamurai/internal/worktime"
"github.com/spf13/cobra"
)
@@ -32,6 +32,7 @@ func newWorkCmd() *cobra.Command {
cmd.AddCommand(newWorkLogoutCmd())
cmd.AddCommand(newWorkAddCmd())
cmd.AddCommand(newWorkSubCmd())
+ cmd.AddCommand(newWorkDayOffCmd())
cmd.AddCommand(newWorkUseBufferCmd())
cmd.AddCommand(newWorkReportCmd())
cmd.AddCommand(newWorkStatusCmd())
@@ -211,6 +212,39 @@ func newWorkSubCmd() *cobra.Command {
return cmd
}
+func newWorkDayOffCmd() *cobra.Command {
+ var at string
+ var descr string
+
+ cmd := &cobra.Command{
+ Use: "day-off",
+ Short: "Add an 8-hour day-off entry",
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, err := resolveWorkContext(cmd)
+ if err != nil {
+ return err
+ }
+
+ day, err := parseAtOrNow(at)
+ if err != nil {
+ return err
+ }
+
+ entry, err := worktime.AddDayOff(ctx.dbDir, ctx.host, day, descr)
+ if err != nil {
+ return err
+ }
+
+ dayLabel := time.Unix(entry.Epoch, 0).Format("2006-01-02")
+ return printOutput(cmd, fmt.Sprintf("Added day off: 8h on %s", dayLabel))
+ },
+ }
+
+ cmd.Flags().StringVar(&at, "at", "", "Date/time override (unix, ISO, today, yesterday)")
+ cmd.Flags().StringVarP(&descr, "descr", "d", "", "Description")
+ return cmd
+}
+
func newWorkUseBufferCmd() *cobra.Command {
var at string
var descr string
@@ -407,9 +441,9 @@ func startTimerFromWorkCommand() (string, error) {
if err != nil {
return "", err
}
- return timrTimer.StartTimer(hasElapsed)
+ return timesamuraiTimer.StartTimer(hasElapsed)
}
func stopTimerFromWorkCommand() (string, error) {
- return timrTimer.StopTimer()
+ return timesamuraiTimer.StopTimer()
}