2019-09-23 17:46:21 +03:00
|
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
|
|
|
|
|
|
module Types where
|
|
|
|
|
|
|
|
import Lens.Micro.TH (makeLenses)
|
|
|
|
|
|
|
|
import Data.Default
|
2020-04-09 19:46:49 +03:00
|
|
|
import qualified Data.Text as T
|
2019-09-23 17:46:21 +03:00
|
|
|
|
|
|
|
data App = App {
|
2020-04-09 19:46:49 +03:00
|
|
|
_clickCount :: !Int,
|
|
|
|
_textField1 :: T.Text,
|
|
|
|
_textField2 :: T.Text,
|
|
|
|
_textField3 :: T.Text
|
2019-09-23 17:46:21 +03:00
|
|
|
} deriving (Show, Eq)
|
|
|
|
|
|
|
|
instance Default App where
|
2020-04-09 19:46:49 +03:00
|
|
|
def = App 0 "" "" ""
|
2019-09-23 17:46:21 +03:00
|
|
|
|
|
|
|
makeLenses ''App
|
2020-06-04 23:36:01 +03:00
|
|
|
|
|
|
|
data CompState = CompState {
|
|
|
|
_csCounter :: Int
|
|
|
|
} deriving (Show, Eq)
|
|
|
|
|
|
|
|
instance Default CompState where
|
|
|
|
def = CompState 0
|
|
|
|
|
|
|
|
makeLenses ''CompState
|