Compare commits
No commits in common. "eae4bfc94943f7c558dc997ab4923851f6138aa1" and "995356f1f6dc46072c5fba98256ce80ad37627a6" have entirely different histories.
eae4bfc949
...
995356f1f6
5 changed files with 53 additions and 278 deletions
|
@ -14,7 +14,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- Transaction list
|
- Transaction list
|
||||||
- Balance display
|
- Balance display
|
||||||
- Account selector
|
- Account selector
|
||||||
- Menu for new addresses, accounts, wallets
|
|
||||||
|
|
||||||
|
|
||||||
## [0.5.3.0-beta]
|
## [0.5.3.0-beta]
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 11 KiB |
|
@ -40,28 +40,16 @@ import Zenith.Utils (displayAmount, showAddress)
|
||||||
data AppEvent
|
data AppEvent
|
||||||
= AppInit
|
= AppInit
|
||||||
| ShowMsg !T.Text
|
| ShowMsg !T.Text
|
||||||
| ShowError !T.Text
|
|
||||||
| CloseMsg
|
| CloseMsg
|
||||||
| WalletClicked
|
| WalletClicked
|
||||||
| AccountClicked
|
| AccountClicked
|
||||||
| MenuClicked
|
|
||||||
| NewClicked
|
|
||||||
| NewAddress
|
|
||||||
| NewAccount
|
|
||||||
| NewWallet
|
|
||||||
| SetPool !ZcashPool
|
| SetPool !ZcashPool
|
||||||
| SwitchQr !(Maybe QrCode)
|
| SwitchQr !(Maybe QrCode)
|
||||||
| SwitchAddr !Int
|
| SwitchAddr !Int
|
||||||
| SwitchAcc !Int
|
| SwitchAcc !Int
|
||||||
| SwitchWal !Int
|
|
||||||
| CopyAddr !(Maybe (Entity WalletAddress))
|
| CopyAddr !(Maybe (Entity WalletAddress))
|
||||||
| LoadTxs ![Entity UserTx]
|
| LoadTxs ![Entity UserTx]
|
||||||
| LoadAddrs ![Entity WalletAddress]
|
| LoadAddrs ![Entity WalletAddress]
|
||||||
| LoadAccs ![Entity ZcashAccount]
|
|
||||||
| ConfirmCancel
|
|
||||||
| SaveAddress
|
|
||||||
| SaveAccount
|
|
||||||
| SaveWallet
|
|
||||||
deriving (Eq, Show)
|
deriving (Eq, Show)
|
||||||
|
|
||||||
data AppModel = AppModel
|
data AppModel = AppModel
|
||||||
|
@ -82,15 +70,6 @@ data AppModel = AppModel
|
||||||
, _selPool :: !ZcashPool
|
, _selPool :: !ZcashPool
|
||||||
, _qrCodeWidget :: !(Maybe QrCode)
|
, _qrCodeWidget :: !(Maybe QrCode)
|
||||||
, _accPopup :: !Bool
|
, _accPopup :: !Bool
|
||||||
, _walPopup :: !Bool
|
|
||||||
, _menuPopup :: !Bool
|
|
||||||
, _newPopup :: !Bool
|
|
||||||
, _mainInput :: !T.Text
|
|
||||||
, _confirmTitle :: !(Maybe T.Text)
|
|
||||||
, _confirmAccept :: !T.Text
|
|
||||||
, _confirmCancel :: !T.Text
|
|
||||||
, _confirmEvent :: !AppEvent
|
|
||||||
, _inError :: !Bool
|
|
||||||
} deriving (Eq, Show)
|
} deriving (Eq, Show)
|
||||||
|
|
||||||
makeLenses ''AppModel
|
makeLenses ''AppModel
|
||||||
|
@ -123,11 +102,7 @@ buildUI wenv model = widgetTree
|
||||||
then Nothing
|
then Nothing
|
||||||
else Just ((model ^. addresses) !! (model ^. selAddr))
|
else Just ((model ^. addresses) !! (model ^. selAddr))
|
||||||
widgetTree =
|
widgetTree =
|
||||||
zstack
|
zstack [mainWindow, msgOverlay `nodeVisible` isJust (model ^. msg)]
|
||||||
[ mainWindow
|
|
||||||
, confirmOverlay `nodeVisible` isJust (model ^. confirmTitle)
|
|
||||||
, msgOverlay `nodeVisible` isJust (model ^. msg)
|
|
||||||
]
|
|
||||||
mainWindow =
|
mainWindow =
|
||||||
vstack
|
vstack
|
||||||
[ windowHeader
|
[ windowHeader
|
||||||
|
@ -140,21 +115,9 @@ buildUI wenv model = widgetTree
|
||||||
]
|
]
|
||||||
windowHeader =
|
windowHeader =
|
||||||
hstack
|
hstack
|
||||||
[ vstack
|
|
||||||
[ box_
|
|
||||||
[onClick MenuClicked, alignMiddle]
|
|
||||||
(remixIcon remixMenuFill `styleBasic`
|
|
||||||
[textSize 16, textColor white]) `styleBasic`
|
|
||||||
[cursorHand, height 25, padding 3] `styleHover`
|
|
||||||
[bgColor btnHiLite]
|
|
||||||
, popup menuPopup menuBox
|
|
||||||
]
|
|
||||||
, vstack
|
|
||||||
[ box_ [onClick WalletClicked, alignMiddle] walletButton `styleBasic`
|
[ box_ [onClick WalletClicked, alignMiddle] walletButton `styleBasic`
|
||||||
[cursorHand, height 25, padding 3] `styleHover`
|
[cursorHand, height 25, padding 3] `styleHover`
|
||||||
[bgColor btnHiLite]
|
[bgColor btnHiLite]
|
||||||
, popup walPopup walListPopup
|
|
||||||
]
|
|
||||||
, vstack
|
, vstack
|
||||||
[ box_ [onClick AccountClicked, alignMiddle] accountButton `styleBasic`
|
[ box_ [onClick AccountClicked, alignMiddle] accountButton `styleBasic`
|
||||||
[cursorHand, height 25, padding 3] `styleHover`
|
[cursorHand, height 25, padding 3] `styleHover`
|
||||||
|
@ -167,47 +130,6 @@ buildUI wenv model = widgetTree
|
||||||
(model ^. network == TestNet)
|
(model ^. network == TestNet)
|
||||||
] `styleBasic`
|
] `styleBasic`
|
||||||
[bgColor btnColor]
|
[bgColor btnColor]
|
||||||
menuBox =
|
|
||||||
box_
|
|
||||||
[alignMiddle]
|
|
||||||
(vstack
|
|
||||||
[ box_
|
|
||||||
[alignLeft]
|
|
||||||
(vstack
|
|
||||||
[ box_
|
|
||||||
[alignLeft, onClick NewClicked]
|
|
||||||
(hstack
|
|
||||||
[ label "New"
|
|
||||||
, filler
|
|
||||||
, widgetIf (not $ model ^. newPopup) $
|
|
||||||
remixIcon remixMenuUnfoldFill
|
|
||||||
, widgetIf (model ^. newPopup) $
|
|
||||||
remixIcon remixMenuFoldFill
|
|
||||||
])
|
|
||||||
, widgetIf (model ^. newPopup) $ animSlideIn newBox
|
|
||||||
]) `styleBasic`
|
|
||||||
[bgColor white, borderB 1 gray, padding 3]
|
|
||||||
, box_ [alignLeft] (label "Backup Wallet") `styleBasic`
|
|
||||||
[bgColor white, borderB 1 gray, padding 3]
|
|
||||||
]) `styleBasic`
|
|
||||||
[bgColor btnColor, padding 3]
|
|
||||||
newBox =
|
|
||||||
box_
|
|
||||||
[alignMiddle]
|
|
||||||
(vstack
|
|
||||||
[ box_
|
|
||||||
[alignLeft, onClick NewAddress]
|
|
||||||
(hstack [label "Address", filler]) `styleBasic`
|
|
||||||
[bgColor white, borderB 1 gray, padding 3]
|
|
||||||
, box_
|
|
||||||
[alignLeft, onClick NewAccount]
|
|
||||||
(hstack [label "Account", filler]) `styleBasic`
|
|
||||||
[bgColor white, borderB 1 gray, padding 3]
|
|
||||||
, box_
|
|
||||||
[alignLeft, onClick NewWallet]
|
|
||||||
(hstack [label "Wallet", filler]) `styleBasic`
|
|
||||||
[bgColor white, borderB 1 gray, padding 3]
|
|
||||||
])
|
|
||||||
walletButton =
|
walletButton =
|
||||||
hstack
|
hstack
|
||||||
[ label "Wallet: " `styleBasic` [textFont "Bold", textColor white]
|
[ label "Wallet: " `styleBasic` [textFont "Bold", textColor white]
|
||||||
|
@ -215,21 +137,6 @@ buildUI wenv model = widgetTree
|
||||||
[textFont "Regular", textColor white]
|
[textFont "Regular", textColor white]
|
||||||
, remixIcon remixArrowRightWideLine `styleBasic` [textColor white]
|
, remixIcon remixArrowRightWideLine `styleBasic` [textColor white]
|
||||||
]
|
]
|
||||||
walListPopup =
|
|
||||||
box_ [alignMiddle] dispWalList `styleBasic` [bgColor btnColor, padding 3]
|
|
||||||
dispWalList = vstack (zipWith walRow [0 ..] (model ^. wallets))
|
|
||||||
walRow :: Int -> Entity ZcashWallet -> WidgetNode AppModel AppEvent
|
|
||||||
walRow idx wal =
|
|
||||||
box_
|
|
||||||
[onClick $ SwitchWal idx, alignCenter]
|
|
||||||
(label (zcashWalletName (entityVal wal))) `styleBasic`
|
|
||||||
[ padding 1
|
|
||||||
, borderB 1 gray
|
|
||||||
, bgColor white
|
|
||||||
, width 80
|
|
||||||
, styleIf (model ^. selWallet == idx) (borderL 2 btnHiLite)
|
|
||||||
, styleIf (model ^. selWallet == idx) (borderR 2 btnHiLite)
|
|
||||||
]
|
|
||||||
accountButton =
|
accountButton =
|
||||||
hstack
|
hstack
|
||||||
[ label "Account: " `styleBasic` [textFont "Bold", textColor white]
|
[ label "Account: " `styleBasic` [textFont "Bold", textColor white]
|
||||||
|
@ -248,7 +155,6 @@ buildUI wenv model = widgetTree
|
||||||
[ padding 1
|
[ padding 1
|
||||||
, borderB 1 gray
|
, borderB 1 gray
|
||||||
, bgColor white
|
, bgColor white
|
||||||
, width 80
|
|
||||||
, styleIf (model ^. selAcc == idx) (borderL 2 btnHiLite)
|
, styleIf (model ^. selAcc == idx) (borderL 2 btnHiLite)
|
||||||
, styleIf (model ^. selAcc == idx) (borderR 2 btnHiLite)
|
, styleIf (model ^. selAcc == idx) (borderR 2 btnHiLite)
|
||||||
]
|
]
|
||||||
|
@ -448,23 +354,7 @@ buildUI wenv model = widgetTree
|
||||||
]
|
]
|
||||||
msgOverlay =
|
msgOverlay =
|
||||||
alert CloseMsg $
|
alert CloseMsg $
|
||||||
hstack
|
hstack [filler, label $ fromMaybe "" (model ^. msg), filler]
|
||||||
[ filler
|
|
||||||
, image_ "./assets/1F616_color.png" [fitHeight] `styleBasic`
|
|
||||||
[height 44, width 44] `nodeVisible`
|
|
||||||
(model ^. inError)
|
|
||||||
, label $ fromMaybe "" (model ^. msg)
|
|
||||||
, filler
|
|
||||||
]
|
|
||||||
confirmOverlay =
|
|
||||||
confirm_
|
|
||||||
(model ^. confirmEvent)
|
|
||||||
ConfirmCancel
|
|
||||||
[ titleCaption $ fromMaybe "" $ model ^. confirmTitle
|
|
||||||
, acceptCaption $ model ^. confirmAccept
|
|
||||||
, cancelCaption $ model ^. confirmCancel
|
|
||||||
]
|
|
||||||
(hstack [label "Name:", filler, textField_ mainInput [maxLength 25]])
|
|
||||||
|
|
||||||
generateQRCodes :: Config -> IO ()
|
generateQRCodes :: Config -> IO ()
|
||||||
generateQRCodes config = do
|
generateQRCodes config = do
|
||||||
|
@ -543,62 +433,9 @@ handleEvent ::
|
||||||
handleEvent wenv node model evt =
|
handleEvent wenv node model evt =
|
||||||
case evt of
|
case evt of
|
||||||
AppInit -> []
|
AppInit -> []
|
||||||
ShowMsg t -> [Model $ model & msg ?~ t & menuPopup .~ False]
|
ShowMsg t -> [Model $ model & msg ?~ t]
|
||||||
ShowError t ->
|
WalletClicked -> [Model $ model & msg ?~ "You clicked Wallet!"]
|
||||||
[Model $ model & msg ?~ t & menuPopup .~ False & inError .~ True]
|
|
||||||
WalletClicked -> [Model $ model & walPopup .~ True]
|
|
||||||
AccountClicked -> [Model $ model & accPopup .~ True]
|
AccountClicked -> [Model $ model & accPopup .~ True]
|
||||||
MenuClicked -> [Model $ model & menuPopup .~ True]
|
|
||||||
NewClicked -> [Model $ model & newPopup .~ not (model ^. newPopup)]
|
|
||||||
NewAddress ->
|
|
||||||
[ Model $
|
|
||||||
model & confirmTitle ?~ "New Address" & confirmAccept .~ "Create" &
|
|
||||||
confirmCancel .~
|
|
||||||
"Cancel" &
|
|
||||||
confirmEvent .~
|
|
||||||
SaveAddress &
|
|
||||||
menuPopup .~
|
|
||||||
False
|
|
||||||
]
|
|
||||||
NewAccount ->
|
|
||||||
[ Model $
|
|
||||||
model & confirmTitle ?~ "New Account" & confirmAccept .~ "Create" &
|
|
||||||
confirmCancel .~
|
|
||||||
"Cancel" &
|
|
||||||
confirmEvent .~
|
|
||||||
SaveAccount &
|
|
||||||
menuPopup .~
|
|
||||||
False
|
|
||||||
]
|
|
||||||
NewWallet ->
|
|
||||||
[ Model $
|
|
||||||
model & confirmTitle ?~ "New Wallet" & confirmAccept .~ "Create" &
|
|
||||||
confirmCancel .~
|
|
||||||
"Cancel" &
|
|
||||||
confirmEvent .~
|
|
||||||
SaveWallet &
|
|
||||||
menuPopup .~
|
|
||||||
False
|
|
||||||
]
|
|
||||||
ConfirmCancel -> [Model $ model & confirmTitle .~ Nothing & mainInput .~ ""]
|
|
||||||
SaveAddress ->
|
|
||||||
[ if T.length (model ^. mainInput) > 1
|
|
||||||
then Event $ ShowMsg $ "You saved address: " <> model ^. mainInput
|
|
||||||
else Event $ ShowError "Invalid input"
|
|
||||||
, Event ConfirmCancel
|
|
||||||
]
|
|
||||||
SaveAccount ->
|
|
||||||
[ if T.length (model ^. mainInput) > 1
|
|
||||||
then Event $ ShowMsg $ "You saved account: " <> model ^. mainInput
|
|
||||||
else Event $ ShowError "Invalid input"
|
|
||||||
, Event ConfirmCancel
|
|
||||||
]
|
|
||||||
SaveWallet ->
|
|
||||||
[ if T.length (model ^. mainInput) > 1
|
|
||||||
then Event $ ShowMsg $ "You saved wallet: " <> model ^. mainInput
|
|
||||||
else Event $ ShowError "Invalid input"
|
|
||||||
, Event ConfirmCancel
|
|
||||||
]
|
|
||||||
SetPool p ->
|
SetPool p ->
|
||||||
[ Model $ model & selPool .~ p
|
[ Model $ model & selPool .~ p
|
||||||
, Task $
|
, Task $
|
||||||
|
@ -626,15 +463,6 @@ handleEvent wenv node model evt =
|
||||||
Just acc -> runNoLoggingT $ getAddresses dbPool $ entityKey acc
|
Just acc -> runNoLoggingT $ getAddresses dbPool $ entityKey acc
|
||||||
, Event $ SetPool Orchard
|
, Event $ SetPool Orchard
|
||||||
]
|
]
|
||||||
SwitchWal i ->
|
|
||||||
[ Model $ model & selWallet .~ i & selAcc .~ 0 & selAddr .~ 0
|
|
||||||
, Task $
|
|
||||||
LoadAccs <$> do
|
|
||||||
dbPool <- runNoLoggingT $ initPool $ c_dbPath $ model ^. configuration
|
|
||||||
case selectWallet i of
|
|
||||||
Nothing -> return []
|
|
||||||
Just wal -> runNoLoggingT $ getAccounts dbPool $ entityKey wal
|
|
||||||
]
|
|
||||||
CopyAddr a ->
|
CopyAddr a ->
|
||||||
[ setClipboardData $
|
[ setClipboardData $
|
||||||
ClipboardText $
|
ClipboardText $
|
||||||
|
@ -656,17 +484,12 @@ handleEvent wenv node model evt =
|
||||||
]
|
]
|
||||||
LoadTxs t -> [Model $ model & transactions .~ t]
|
LoadTxs t -> [Model $ model & transactions .~ t]
|
||||||
LoadAddrs a -> [Model $ model & addresses .~ a, Event $ SetPool Orchard]
|
LoadAddrs a -> [Model $ model & addresses .~ a, Event $ SetPool Orchard]
|
||||||
LoadAccs a -> [Model $ model & accounts .~ a, Event $ SwitchAcc 0]
|
CloseMsg -> [Model $ model & msg .~ Nothing]
|
||||||
CloseMsg -> [Model $ model & msg .~ Nothing & inError .~ False]
|
|
||||||
where
|
where
|
||||||
currentWallet =
|
currentWallet =
|
||||||
if null (model ^. wallets)
|
if null (model ^. wallets)
|
||||||
then Nothing
|
then Nothing
|
||||||
else Just ((model ^. wallets) !! (model ^. selWallet))
|
else Just ((model ^. wallets) !! (model ^. selWallet))
|
||||||
selectWallet i =
|
|
||||||
if null (model ^. wallets)
|
|
||||||
then Nothing
|
|
||||||
else Just ((model ^. wallets) !! i)
|
|
||||||
currentAccount =
|
currentAccount =
|
||||||
if null (model ^. accounts)
|
if null (model ^. accounts)
|
||||||
then Nothing
|
then Nothing
|
||||||
|
@ -733,15 +556,6 @@ runZenithGUI config = do
|
||||||
Orchard
|
Orchard
|
||||||
qr
|
qr
|
||||||
False
|
False
|
||||||
False
|
|
||||||
False
|
|
||||||
False
|
|
||||||
""
|
|
||||||
Nothing
|
|
||||||
""
|
|
||||||
""
|
|
||||||
SaveAddress
|
|
||||||
False
|
|
||||||
startApp model handleEvent buildUI params
|
startApp model handleEvent buildUI params
|
||||||
Left e -> do
|
Left e -> do
|
||||||
initDb dbFilePath
|
initDb dbFilePath
|
||||||
|
@ -766,15 +580,6 @@ runZenithGUI config = do
|
||||||
Orchard
|
Orchard
|
||||||
Nothing
|
Nothing
|
||||||
False
|
False
|
||||||
False
|
|
||||||
False
|
|
||||||
False
|
|
||||||
""
|
|
||||||
Nothing
|
|
||||||
""
|
|
||||||
""
|
|
||||||
SaveAddress
|
|
||||||
False
|
|
||||||
startApp model handleEvent buildUI params
|
startApp model handleEvent buildUI params
|
||||||
where
|
where
|
||||||
params =
|
params =
|
||||||
|
|
|
@ -4,7 +4,6 @@ module Zenith.GUI.Theme
|
||||||
( zenithTheme
|
( zenithTheme
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Data.Default
|
|
||||||
import Lens.Micro ((&), (+~), (.~), (?~), (^.), at, set)
|
import Lens.Micro ((&), (+~), (.~), (?~), (^.), at, set)
|
||||||
import Monomer
|
import Monomer
|
||||||
import Monomer.Core.Themes.BaseTheme
|
import Monomer.Core.Themes.BaseTheme
|
||||||
|
@ -13,72 +12,49 @@ import Monomer.Graphics (rgbHex, transparent)
|
||||||
import Monomer.Graphics.ColorTable
|
import Monomer.Graphics.ColorTable
|
||||||
import qualified Monomer.Lens as L
|
import qualified Monomer.Lens as L
|
||||||
|
|
||||||
baseTextStyle :: TextStyle
|
|
||||||
baseTextStyle = def & L.fontSize ?~ FontSize 10 & L.fontColor ?~ black
|
|
||||||
|
|
||||||
hiliteTextStyle :: TextStyle
|
|
||||||
hiliteTextStyle = def & L.fontSize ?~ FontSize 10 & L.fontColor ?~ white
|
|
||||||
|
|
||||||
zenithTheme :: Theme
|
zenithTheme :: Theme
|
||||||
zenithTheme =
|
zenithTheme =
|
||||||
baseTheme zgoThemeColors & L.basic . L.labelStyle . L.text ?~ baseTextStyle &
|
baseTheme zgoThemeColors & L.basic . L.labelStyle . L.text ?~
|
||||||
|
TextStyle
|
||||||
|
Nothing
|
||||||
|
(Just . FontSize $ 10)
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
(Just black)
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
Nothing &
|
||||||
L.hover .
|
L.hover .
|
||||||
L.tooltipStyle . L.text ?~
|
L.tooltipStyle . L.text ?~
|
||||||
baseTextStyle &
|
TextStyle
|
||||||
|
Nothing
|
||||||
|
(Just . FontSize $ 10)
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
(Just black)
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
Nothing
|
||||||
|
Nothing &
|
||||||
L.hover .
|
L.hover .
|
||||||
L.labelStyle . L.text ?~
|
L.labelStyle . L.text ?~
|
||||||
baseTextStyle &
|
TextStyle
|
||||||
L.basic .
|
Nothing
|
||||||
L.dialogTitleStyle . L.text ?~
|
(Just . FontSize $ 10)
|
||||||
(baseTextStyle & L.fontSize ?~ FontSize 12 & L.font ?~ "Bold") &
|
Nothing
|
||||||
L.hover .
|
Nothing
|
||||||
L.dialogTitleStyle . L.text ?~
|
(Just black)
|
||||||
(baseTextStyle & L.fontSize ?~ FontSize 12 & L.font ?~ "Bold") &
|
Nothing
|
||||||
L.basic .
|
Nothing
|
||||||
L.btnStyle . L.text ?~
|
Nothing
|
||||||
baseTextStyle &
|
Nothing
|
||||||
L.hover .
|
Nothing
|
||||||
L.btnStyle . L.text ?~
|
Nothing
|
||||||
baseTextStyle &
|
|
||||||
L.focus .
|
|
||||||
L.btnStyle . L.text ?~
|
|
||||||
baseTextStyle &
|
|
||||||
L.focusHover .
|
|
||||||
L.btnStyle . L.text ?~
|
|
||||||
baseTextStyle &
|
|
||||||
L.active .
|
|
||||||
L.btnStyle . L.text ?~
|
|
||||||
baseTextStyle &
|
|
||||||
L.basic .
|
|
||||||
L.btnMainStyle . L.text ?~
|
|
||||||
hiliteTextStyle &
|
|
||||||
L.hover .
|
|
||||||
L.btnMainStyle . L.text ?~
|
|
||||||
hiliteTextStyle &
|
|
||||||
L.focus .
|
|
||||||
L.btnMainStyle . L.text ?~
|
|
||||||
hiliteTextStyle &
|
|
||||||
L.focusHover .
|
|
||||||
L.btnMainStyle . L.text ?~
|
|
||||||
hiliteTextStyle &
|
|
||||||
L.active .
|
|
||||||
L.btnMainStyle . L.text ?~
|
|
||||||
hiliteTextStyle &
|
|
||||||
L.basic .
|
|
||||||
L.textFieldStyle . L.text ?~
|
|
||||||
baseTextStyle &
|
|
||||||
L.hover .
|
|
||||||
L.textFieldStyle . L.text ?~
|
|
||||||
baseTextStyle &
|
|
||||||
L.focus .
|
|
||||||
L.textFieldStyle . L.text ?~
|
|
||||||
baseTextStyle &
|
|
||||||
L.active .
|
|
||||||
L.textFieldStyle . L.text ?~
|
|
||||||
baseTextStyle &
|
|
||||||
L.focusHover .
|
|
||||||
L.textFieldStyle . L.text ?~
|
|
||||||
baseTextStyle
|
|
||||||
|
|
||||||
zenithThemeColors :: BaseThemeColors
|
zenithThemeColors :: BaseThemeColors
|
||||||
zenithThemeColors =
|
zenithThemeColors =
|
||||||
|
@ -94,10 +70,10 @@ zenithThemeColors =
|
||||||
, btnText = gray02
|
, btnText = gray02
|
||||||
, btnTextDisabled = gray01
|
, btnTextDisabled = gray01
|
||||||
, btnMainFocusBorder = blue08
|
, btnMainFocusBorder = blue08
|
||||||
, btnMainBgBasic = btnColor
|
, btnMainBgBasic = blue05b
|
||||||
, btnMainBgHover = btnHiLite
|
, btnMainBgHover = blue06
|
||||||
, btnMainBgFocus = btnColor
|
, btnMainBgFocus = blue05c
|
||||||
, btnMainBgActive = btnHiLite
|
, btnMainBgActive = blue05
|
||||||
, btnMainBgDisabled = blue04
|
, btnMainBgDisabled = blue04
|
||||||
, btnMainText = white
|
, btnMainText = white
|
||||||
, btnMainTextDisabled = gray08
|
, btnMainTextDisabled = gray08
|
||||||
|
@ -173,10 +149,10 @@ zgoThemeColors =
|
||||||
, btnText = gray02
|
, btnText = gray02
|
||||||
, btnTextDisabled = gray02
|
, btnTextDisabled = gray02
|
||||||
, btnMainFocusBorder = blue09
|
, btnMainFocusBorder = blue09
|
||||||
, btnMainBgBasic = btnColor
|
, btnMainBgBasic = blue05b
|
||||||
, btnMainBgHover = btnHiLite
|
, btnMainBgHover = blue06
|
||||||
, btnMainBgFocus = btnColor
|
, btnMainBgFocus = blue05c
|
||||||
, btnMainBgActive = btnHiLite
|
, btnMainBgActive = blue05
|
||||||
, btnMainBgDisabled = blue04
|
, btnMainBgDisabled = blue04
|
||||||
, btnMainText = white
|
, btnMainText = white
|
||||||
, btnMainTextDisabled = white
|
, btnMainTextDisabled = white
|
||||||
|
@ -241,10 +217,6 @@ zgoThemeColors =
|
||||||
|
|
||||||
--black = rgbHex "#000000"
|
--black = rgbHex "#000000"
|
||||||
{-white = rgbHex "#FFFFFF"-}
|
{-white = rgbHex "#FFFFFF"-}
|
||||||
btnColor = rgbHex "#ff5722" --rgbHex "#1818B2"
|
|
||||||
|
|
||||||
btnHiLite = rgbHex "#207DE8"
|
|
||||||
|
|
||||||
blue01 = rgbHex "#002159"
|
blue01 = rgbHex "#002159"
|
||||||
|
|
||||||
blue02 = rgbHex "#01337D"
|
blue02 = rgbHex "#01337D"
|
||||||
|
|
|
@ -46,7 +46,6 @@ library
|
||||||
, base64-bytestring
|
, base64-bytestring
|
||||||
, brick
|
, brick
|
||||||
, bytestring
|
, bytestring
|
||||||
, data-default
|
|
||||||
, esqueleto
|
, esqueleto
|
||||||
, resource-pool
|
, resource-pool
|
||||||
, binary
|
, binary
|
||||||
|
|
Loading…
Reference in a new issue