From b5570d3e680570343c1552bfc972b19b161209cd Mon Sep 17 00:00:00 2001 From: Norwin Date: Thu, 21 Jan 2021 14:51:52 +0000 Subject: Display current stopwatch in navbar (#14122) * add notification about running stopwatch to header * serialize seconds, duration in stopwatches api * ajax update stopwatch i should get my testenv working locally... * new variant: hover dialog * noscript compatibility * js: live-update stopwatch time * js live update robustness --- models/issue_stopwatch.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'models') diff --git a/models/issue_stopwatch.go b/models/issue_stopwatch.go index 4b2bf1505d..a1c88503d8 100644 --- a/models/issue_stopwatch.go +++ b/models/issue_stopwatch.go @@ -19,6 +19,16 @@ type Stopwatch struct { CreatedUnix timeutil.TimeStamp `xorm:"created"` } +// Seconds returns the amount of time passed since creation, based on local server time +func (s Stopwatch) Seconds() int64 { + return int64(timeutil.TimeStampNow() - s.CreatedUnix) +} + +// Duration returns a human-readable duration string based on local server time +func (s Stopwatch) Duration() string { + return SecToTime(s.Seconds()) +} + func getStopwatch(e Engine, userID, issueID int64) (sw *Stopwatch, exists bool, err error) { sw = new(Stopwatch) exists, err = e. -- cgit v1.2.3