aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Update/UpdateTimer.elm6
-rw-r--r--src/View/Timer.elm13
2 files changed, 13 insertions, 6 deletions
diff --git a/src/Update/UpdateTimer.elm b/src/Update/UpdateTimer.elm
index b3be088..3eba549 100644
--- a/src/Update/UpdateTimer.elm
+++ b/src/Update/UpdateTimer.elm
@@ -7,15 +7,15 @@ import Model.Timer (..)
import Model.Id (..)
type TimerAction =
- ToggleRunning
- | Restart
+ Restart
+ | ToggleRunning
| Stop
updateTimer : TimerAction -> Timer -> Timer
updateTimer action timer =
case action of
ToggleRunning ->
- { timer | isRunning <- not timer.isRunning }
+ { timer | isRunning <- timer.currentTime > 0.0 && not timer.isRunning }
Restart ->
{ timer
| isRunning <- True
diff --git a/src/View/Timer.elm b/src/View/Timer.elm
index 5d34c7e..e38b6cb 100644
--- a/src/View/Timer.elm
+++ b/src/View/Timer.elm
@@ -20,9 +20,7 @@ timerView (id, timer) =
div
[ class <| "timer" ++ (if timer.isRunning then " isRunning" else "") ]
[ button
- [ class "name block"
- , onClick (Signal.send updates (UpdateTimer id ToggleRunning))
- ]
+ [ class "name block" ]
[ text timer.name ]
, div
[ class <| "time block" ]
@@ -33,6 +31,15 @@ timerView (id, timer) =
]
[ i [ class "fa fa-fw fa-backward" ] [] ]
, button
+ [ class <| "playPause block"
+ , onClick (Signal.send updates (UpdateTimer id ToggleRunning))
+ ]
+ [ let icon = if timer.isRunning then "fa-pause" else "fa-play"
+ in i
+ [ class <| "fa fa-fw " ++ icon ]
+ []
+ ]
+ , button
[ class <| "stop block"
, onClick (Signal.send updates (UpdateTimer id Stop))
]