github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/web/elm/src/FlySuccess/Models.elm (about) 1 module FlySuccess.Models exposing 2 ( ButtonState(..) 3 , InputState(..) 4 , Model 5 , TokenTransfer(..) 6 , hover 7 , isClicked 8 ) 9 10 import Login.Login as Login 11 12 13 type alias Model = 14 Login.Model 15 { copyTokenButtonState : ButtonState 16 , sendTokenButtonState : ButtonState 17 , copyTokenInputState : InputState 18 , authToken : String 19 , tokenTransfer : TokenTransfer 20 , flyPort : Maybe Int 21 } 22 23 24 type ButtonState 25 = Unhovered 26 | Hovered 27 | Clicked 28 29 30 type InputState 31 = InputUnhovered 32 | InputHovered 33 34 35 type TokenTransfer 36 = Pending 37 | Success 38 | NetworkTrouble 39 | BlockedByBrowser 40 | NoFlyPort 41 42 43 hover : Bool -> ButtonState -> ButtonState 44 hover hovered buttonState = 45 case buttonState of 46 Clicked -> 47 Clicked 48 49 _ -> 50 if hovered then 51 Hovered 52 53 else 54 Unhovered 55 56 57 isClicked : ButtonState -> Bool 58 isClicked = 59 (==) Clicked